thirdweb 5.69.0 → 5.70.0-nightly-ecaa304a812188da3c81888bb52ca6064093c139-20241121000332

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 (453) hide show
  1. package/dist/cjs/client/client.js +1 -0
  2. package/dist/cjs/client/client.js.map +1 -1
  3. package/dist/cjs/exports/react.js +32 -3
  4. package/dist/cjs/exports/react.js.map +1 -1
  5. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  6. package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js +5 -0
  7. package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
  8. package/dist/cjs/extensions/pack/createNewPack.js +2 -1
  9. package/dist/cjs/extensions/pack/createNewPack.js.map +1 -1
  10. package/dist/cjs/extensions/prebuilts/deploy-pack.js +1 -0
  11. package/dist/cjs/extensions/prebuilts/deploy-pack.js.map +1 -1
  12. package/dist/cjs/extensions/thirdweb/write/publish.js +4 -0
  13. package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -1
  14. package/dist/cjs/react/core/hooks/others/useChainQuery.js +3 -3
  15. package/dist/cjs/react/core/hooks/rpc/useBlockNumber.js +1 -1
  16. package/dist/cjs/react/core/hooks/wallets/useCapabilities.js +1 -1
  17. package/dist/cjs/react/core/hooks/wallets/useSendCalls.js +3 -3
  18. package/dist/cjs/react/core/providers/connection-manager.js +3 -0
  19. package/dist/cjs/react/core/providers/connection-manager.js.map +1 -1
  20. package/dist/cjs/react/core/utils/wallet.js +2 -1
  21. package/dist/cjs/react/core/utils/wallet.js.map +1 -1
  22. package/dist/cjs/react/core/utils/walletIcon.js +2 -0
  23. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  24. package/dist/cjs/react/native/hooks/wallets/useProfiles.js +1 -1
  25. package/dist/cjs/react/native/providers/thirdweb-provider.js +1 -0
  26. package/dist/cjs/react/native/providers/thirdweb-provider.js.map +1 -1
  27. package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js +1 -0
  28. package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
  29. package/dist/cjs/react/native/ui/connect/ConnectModal.js +1 -0
  30. package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
  31. package/dist/cjs/react/native/ui/transaction/TransactionButton.js +1 -0
  32. package/dist/cjs/react/native/ui/transaction/TransactionButton.js.map +1 -1
  33. package/dist/cjs/react/web/hooks/wallets/useProfiles.js +1 -1
  34. package/dist/cjs/react/web/providers/thirdweb-provider.js +1 -0
  35. package/dist/cjs/react/web/providers/thirdweb-provider.js.map +1 -1
  36. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js +1 -0
  37. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  38. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +19 -4
  39. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
  41. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +18 -13
  43. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
  45. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  46. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
  47. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  48. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
  49. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  50. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
  51. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  52. package/dist/cjs/react/web/ui/PayEmbed.js +1 -0
  53. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  54. package/dist/cjs/react/web/ui/SiteEmbed.js +3 -2
  55. package/dist/cjs/react/web/ui/SiteEmbed.js.map +1 -1
  56. package/dist/cjs/react/web/ui/SiteLink.js +2 -1
  57. package/dist/cjs/react/web/ui/SiteLink.js.map +1 -1
  58. package/dist/cjs/react/web/ui/TransactionButton/index.js +1 -0
  59. package/dist/cjs/react/web/ui/TransactionButton/index.js.map +1 -1
  60. package/dist/cjs/react/web/ui/prebuilt/Account/address.js +49 -0
  61. package/dist/cjs/react/web/ui/prebuilt/Account/address.js.map +1 -0
  62. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +144 -0
  63. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
  64. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +122 -0
  65. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -0
  66. package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +16 -0
  67. package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
  68. package/dist/cjs/react/web/ui/prebuilt/Account/name.js +106 -0
  69. package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -0
  70. package/dist/cjs/react/web/ui/prebuilt/Account/provider.js +43 -0
  71. package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +1 -0
  72. package/dist/cjs/react/web/ui/prebuilt/NFT/description.js +69 -0
  73. package/dist/cjs/react/web/ui/prebuilt/NFT/description.js.map +1 -0
  74. package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js +45 -0
  75. package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
  76. package/dist/cjs/react/web/ui/prebuilt/NFT/media.js +82 -0
  77. package/dist/cjs/react/web/ui/prebuilt/NFT/media.js.map +1 -0
  78. package/dist/cjs/react/web/ui/prebuilt/NFT/name.js +68 -0
  79. package/dist/cjs/react/web/ui/prebuilt/NFT/name.js.map +1 -0
  80. package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js +55 -0
  81. package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
  82. package/dist/cjs/react/web/ui/prebuilt/Token/icon.js +113 -0
  83. package/dist/cjs/react/web/ui/prebuilt/Token/icon.js.map +1 -0
  84. package/dist/cjs/react/web/ui/prebuilt/Token/name.js +137 -0
  85. package/dist/cjs/react/web/ui/prebuilt/Token/name.js.map +1 -0
  86. package/dist/cjs/react/web/ui/prebuilt/Token/provider.js +54 -0
  87. package/dist/cjs/react/web/ui/prebuilt/Token/provider.js.map +1 -0
  88. package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js +134 -0
  89. package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
  90. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
  91. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
  92. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
  93. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  94. package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
  95. package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
  96. package/dist/cjs/storage/unpin.js +1 -1
  97. package/dist/cjs/storage/upload.js +1 -0
  98. package/dist/cjs/storage/upload.js.map +1 -1
  99. package/dist/cjs/transaction/actions/to-serializable-transaction.js +1 -1
  100. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +5 -0
  101. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  102. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +5 -0
  103. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  104. package/dist/cjs/utils/config.js +9 -0
  105. package/dist/cjs/utils/config.js.map +1 -1
  106. package/dist/cjs/utils/json.js +7 -4
  107. package/dist/cjs/utils/json.js.map +1 -1
  108. package/dist/cjs/version.js +1 -1
  109. package/dist/cjs/version.js.map +1 -1
  110. package/dist/cjs/wallets/eip5792/get-calls-status.js +1 -1
  111. package/dist/cjs/wallets/eip5792/get-capabilities.js +1 -1
  112. package/dist/cjs/wallets/eip5792/send-calls.js +2 -2
  113. package/dist/cjs/wallets/eip5792/wait-for-bundle.js +1 -1
  114. package/dist/cjs/wallets/in-app/core/users/getUser.js +1 -1
  115. package/dist/cjs/wallets/in-app/web/ecosystem.js +7 -17
  116. package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
  117. package/dist/cjs/wallets/in-app/web/in-app.js +2 -17
  118. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  119. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -0
  120. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  121. package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js +17 -16
  122. package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
  123. package/dist/cjs/wallets/smart/smart-wallet.js +1 -0
  124. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  125. package/dist/esm/client/client.js +1 -0
  126. package/dist/esm/client/client.js.map +1 -1
  127. package/dist/esm/exports/react.js +17 -1
  128. package/dist/esm/exports/react.js.map +1 -1
  129. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  130. package/dist/esm/extensions/modules/common/checkModulesCompatibility.js +5 -0
  131. package/dist/esm/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
  132. package/dist/esm/extensions/pack/createNewPack.js +2 -1
  133. package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
  134. package/dist/esm/extensions/prebuilts/deploy-pack.js +1 -0
  135. package/dist/esm/extensions/prebuilts/deploy-pack.js.map +1 -1
  136. package/dist/esm/extensions/thirdweb/write/publish.js +4 -0
  137. package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -1
  138. package/dist/esm/react/core/hooks/others/useChainQuery.js +3 -3
  139. package/dist/esm/react/core/hooks/rpc/useBlockNumber.js +1 -1
  140. package/dist/esm/react/core/hooks/wallets/useCapabilities.js +1 -1
  141. package/dist/esm/react/core/hooks/wallets/useSendCalls.js +3 -3
  142. package/dist/esm/react/core/providers/connection-manager.js +3 -0
  143. package/dist/esm/react/core/providers/connection-manager.js.map +1 -1
  144. package/dist/esm/react/core/utils/wallet.js +2 -1
  145. package/dist/esm/react/core/utils/wallet.js.map +1 -1
  146. package/dist/esm/react/core/utils/walletIcon.js +2 -0
  147. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  148. package/dist/esm/react/native/hooks/wallets/useProfiles.js +1 -1
  149. package/dist/esm/react/native/providers/thirdweb-provider.js +1 -0
  150. package/dist/esm/react/native/providers/thirdweb-provider.js.map +1 -1
  151. package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js +1 -0
  152. package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
  153. package/dist/esm/react/native/ui/connect/ConnectModal.js +1 -0
  154. package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
  155. package/dist/esm/react/native/ui/transaction/TransactionButton.js +1 -0
  156. package/dist/esm/react/native/ui/transaction/TransactionButton.js.map +1 -1
  157. package/dist/esm/react/web/hooks/wallets/useProfiles.js +1 -1
  158. package/dist/esm/react/web/providers/thirdweb-provider.js +1 -0
  159. package/dist/esm/react/web/providers/thirdweb-provider.js.map +1 -1
  160. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js +1 -0
  161. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  162. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +19 -4
  163. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  164. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
  165. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  166. package/dist/esm/react/web/ui/ConnectWallet/Details.js +19 -14
  167. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  168. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
  169. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  170. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
  171. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  172. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
  173. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  174. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
  175. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  176. package/dist/esm/react/web/ui/PayEmbed.js +1 -0
  177. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  178. package/dist/esm/react/web/ui/SiteEmbed.js +3 -2
  179. package/dist/esm/react/web/ui/SiteEmbed.js.map +1 -1
  180. package/dist/esm/react/web/ui/SiteLink.js +2 -1
  181. package/dist/esm/react/web/ui/SiteLink.js.map +1 -1
  182. package/dist/esm/react/web/ui/TransactionButton/index.js +1 -0
  183. package/dist/esm/react/web/ui/TransactionButton/index.js.map +1 -1
  184. package/dist/esm/react/web/ui/prebuilt/Account/address.js +46 -0
  185. package/dist/esm/react/web/ui/prebuilt/Account/address.js.map +1 -0
  186. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +141 -0
  187. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
  188. package/dist/esm/react/web/ui/prebuilt/Account/balance.js +119 -0
  189. package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -0
  190. package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +13 -0
  191. package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
  192. package/dist/esm/react/web/ui/prebuilt/Account/name.js +103 -0
  193. package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -0
  194. package/dist/esm/react/web/ui/prebuilt/Account/provider.js +39 -0
  195. package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +1 -0
  196. package/dist/esm/react/web/ui/prebuilt/NFT/description.js +66 -0
  197. package/dist/esm/react/web/ui/prebuilt/NFT/description.js.map +1 -0
  198. package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js +41 -0
  199. package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
  200. package/dist/esm/react/web/ui/prebuilt/NFT/media.js +79 -0
  201. package/dist/esm/react/web/ui/prebuilt/NFT/media.js.map +1 -0
  202. package/dist/esm/react/web/ui/prebuilt/NFT/name.js +65 -0
  203. package/dist/esm/react/web/ui/prebuilt/NFT/name.js.map +1 -0
  204. package/dist/esm/react/web/ui/prebuilt/NFT/provider.js +50 -0
  205. package/dist/esm/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
  206. package/dist/esm/react/web/ui/prebuilt/Token/icon.js +110 -0
  207. package/dist/esm/react/web/ui/prebuilt/Token/icon.js.map +1 -0
  208. package/dist/esm/react/web/ui/prebuilt/Token/name.js +134 -0
  209. package/dist/esm/react/web/ui/prebuilt/Token/name.js.map +1 -0
  210. package/dist/esm/react/web/ui/prebuilt/Token/provider.js +50 -0
  211. package/dist/esm/react/web/ui/prebuilt/Token/provider.js.map +1 -0
  212. package/dist/esm/react/web/ui/prebuilt/Token/symbol.js +131 -0
  213. package/dist/esm/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
  214. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
  215. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
  216. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
  217. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  218. package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
  219. package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
  220. package/dist/esm/storage/unpin.js +1 -1
  221. package/dist/esm/storage/upload.js +1 -0
  222. package/dist/esm/storage/upload.js.map +1 -1
  223. package/dist/esm/transaction/actions/to-serializable-transaction.js +1 -1
  224. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +5 -0
  225. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  226. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +5 -0
  227. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  228. package/dist/esm/utils/config.js +9 -0
  229. package/dist/esm/utils/config.js.map +1 -1
  230. package/dist/esm/utils/json.js +6 -2
  231. package/dist/esm/utils/json.js.map +1 -1
  232. package/dist/esm/version.js +1 -1
  233. package/dist/esm/version.js.map +1 -1
  234. package/dist/esm/wallets/eip5792/get-calls-status.js +1 -1
  235. package/dist/esm/wallets/eip5792/get-capabilities.js +1 -1
  236. package/dist/esm/wallets/eip5792/send-calls.js +2 -2
  237. package/dist/esm/wallets/eip5792/wait-for-bundle.js +1 -1
  238. package/dist/esm/wallets/in-app/core/users/getUser.js +1 -1
  239. package/dist/esm/wallets/in-app/web/ecosystem.js +7 -17
  240. package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
  241. package/dist/esm/wallets/in-app/web/in-app.js +2 -17
  242. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  243. package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -0
  244. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  245. package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js +18 -17
  246. package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
  247. package/dist/esm/wallets/smart/smart-wallet.js +1 -0
  248. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  249. package/dist/types/client/client.d.ts +1 -0
  250. package/dist/types/client/client.d.ts.map +1 -1
  251. package/dist/types/exports/react.d.ts +14 -1
  252. package/dist/types/exports/react.d.ts.map +1 -1
  253. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
  254. package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts +5 -0
  255. package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts.map +1 -1
  256. package/dist/types/extensions/pack/createNewPack.d.ts +2 -2
  257. package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
  258. package/dist/types/extensions/prebuilts/deploy-pack.d.ts +1 -0
  259. package/dist/types/extensions/prebuilts/deploy-pack.d.ts.map +1 -1
  260. package/dist/types/extensions/thirdweb/write/publish.d.ts +4 -0
  261. package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -1
  262. package/dist/types/react/core/hooks/others/useChainQuery.d.ts +3 -3
  263. package/dist/types/react/core/hooks/rpc/useBlockNumber.d.ts +1 -1
  264. package/dist/types/react/core/hooks/wallets/useCapabilities.d.ts +1 -1
  265. package/dist/types/react/core/hooks/wallets/useSendCalls.d.ts +3 -3
  266. package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
  267. package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
  268. package/dist/types/react/core/utils/wallet.d.ts +2 -1
  269. package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
  270. package/dist/types/react/core/utils/walletIcon.d.ts +2 -0
  271. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  272. package/dist/types/react/native/hooks/wallets/useProfiles.d.ts +1 -1
  273. package/dist/types/react/native/providers/thirdweb-provider.d.ts +1 -0
  274. package/dist/types/react/native/providers/thirdweb-provider.d.ts.map +1 -1
  275. package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -0
  276. package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
  277. package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -0
  278. package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
  279. package/dist/types/react/native/ui/transaction/TransactionButton.d.ts +1 -0
  280. package/dist/types/react/native/ui/transaction/TransactionButton.d.ts.map +1 -1
  281. package/dist/types/react/web/hooks/wallets/useProfiles.d.ts +1 -1
  282. package/dist/types/react/web/providers/thirdweb-provider.d.ts +1 -0
  283. package/dist/types/react/web/providers/thirdweb-provider.d.ts.map +1 -1
  284. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -0
  285. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
  286. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +22 -5
  287. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
  288. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -1
  289. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  290. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  291. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
  292. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  293. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  294. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  295. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
  296. package/dist/types/react/web/ui/PayEmbed.d.ts +2 -2
  297. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  298. package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -2
  299. package/dist/types/react/web/ui/SiteEmbed.d.ts.map +1 -1
  300. package/dist/types/react/web/ui/SiteLink.d.ts +2 -1
  301. package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -1
  302. package/dist/types/react/web/ui/TransactionButton/index.d.ts +1 -0
  303. package/dist/types/react/web/ui/TransactionButton/index.d.ts.map +1 -1
  304. package/dist/types/react/web/ui/prebuilt/Account/address.d.ts +52 -0
  305. package/dist/types/react/web/ui/prebuilt/Account/address.d.ts.map +1 -0
  306. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts +142 -0
  307. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -0
  308. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts +137 -0
  309. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -0
  310. package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts +8 -0
  311. package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -0
  312. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts +119 -0
  313. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -0
  314. package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts +45 -0
  315. package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +1 -0
  316. package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts +59 -0
  317. package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts.map +1 -0
  318. package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts +14 -0
  319. package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts.map +1 -0
  320. package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts +75 -0
  321. package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts.map +1 -0
  322. package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts +59 -0
  323. package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts.map +1 -0
  324. package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts +55 -0
  325. package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts.map +1 -0
  326. package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts +95 -0
  327. package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts.map +1 -0
  328. package/dist/types/react/web/ui/prebuilt/Token/name.d.ts +140 -0
  329. package/dist/types/react/web/ui/prebuilt/Token/name.d.ts.map +1 -0
  330. package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts +61 -0
  331. package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts.map +1 -0
  332. package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts +137 -0
  333. package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts.map +1 -0
  334. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +1 -0
  335. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -1
  336. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +1 -0
  337. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
  338. package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts +1 -0
  339. package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts.map +1 -1
  340. package/dist/types/storage/unpin.d.ts +1 -1
  341. package/dist/types/storage/upload.d.ts +1 -0
  342. package/dist/types/storage/upload.d.ts.map +1 -1
  343. package/dist/types/transaction/actions/to-serializable-transaction.d.ts +1 -1
  344. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts +5 -0
  345. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
  346. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +5 -0
  347. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
  348. package/dist/types/utils/config.d.ts +9 -0
  349. package/dist/types/utils/config.d.ts.map +1 -1
  350. package/dist/types/utils/json.d.ts +1 -1
  351. package/dist/types/utils/json.d.ts.map +1 -1
  352. package/dist/types/version.d.ts +1 -1
  353. package/dist/types/version.d.ts.map +1 -1
  354. package/dist/types/wallets/eip5792/get-calls-status.d.ts +1 -1
  355. package/dist/types/wallets/eip5792/get-capabilities.d.ts +1 -1
  356. package/dist/types/wallets/eip5792/send-calls.d.ts +2 -2
  357. package/dist/types/wallets/eip5792/wait-for-bundle.d.ts +1 -1
  358. package/dist/types/wallets/in-app/core/users/getUser.d.ts +1 -1
  359. package/dist/types/wallets/in-app/web/ecosystem.d.ts +7 -17
  360. package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
  361. package/dist/types/wallets/in-app/web/in-app.d.ts +2 -17
  362. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  363. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -0
  364. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  365. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
  366. package/dist/types/wallets/smart/smart-wallet.d.ts +1 -0
  367. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  368. package/package.json +2 -2
  369. package/src/client/client.ts +1 -0
  370. package/src/exports/react.ts +56 -2
  371. package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +1 -1
  372. package/src/extensions/modules/common/checkModulesCompatibility.ts +5 -0
  373. package/src/extensions/pack/createNewPack.ts +8 -3
  374. package/src/extensions/prebuilts/deploy-pack.ts +1 -0
  375. package/src/extensions/thirdweb/write/publish.ts +4 -0
  376. package/src/react/core/hooks/others/useChainQuery.ts +3 -3
  377. package/src/react/core/hooks/rpc/useBlockNumber.ts +1 -1
  378. package/src/react/core/hooks/wallets/useCapabilities.ts +1 -1
  379. package/src/react/core/hooks/wallets/useSendCalls.ts +3 -3
  380. package/src/react/core/providers/connection-manager.tsx +3 -0
  381. package/src/react/core/utils/wallet.ts +2 -1
  382. package/src/react/core/utils/walletIcon.ts +2 -0
  383. package/src/react/native/hooks/wallets/useProfiles.ts +1 -1
  384. package/src/react/native/providers/thirdweb-provider.tsx +1 -0
  385. package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -0
  386. package/src/react/native/ui/connect/ConnectModal.tsx +1 -0
  387. package/src/react/native/ui/transaction/TransactionButton.tsx +1 -0
  388. package/src/react/web/hooks/wallets/useProfiles.ts +1 -1
  389. package/src/react/web/providers/thirdweb-provider.tsx +1 -0
  390. package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -0
  391. package/src/react/web/ui/ConnectWallet/Blobbie.tsx +31 -4
  392. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +36 -32
  393. package/src/react/web/ui/ConnectWallet/Details.tsx +91 -58
  394. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +1 -0
  395. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +23 -0
  396. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +43 -2
  397. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +2 -3
  398. package/src/react/web/ui/PayEmbed.tsx +2 -2
  399. package/src/react/web/ui/SiteEmbed.tsx +3 -2
  400. package/src/react/web/ui/SiteLink.tsx +2 -1
  401. package/src/react/web/ui/TransactionButton/index.tsx +1 -0
  402. package/src/react/web/ui/prebuilt/Account/address.test.tsx +28 -0
  403. package/src/react/web/ui/prebuilt/Account/address.tsx +64 -0
  404. package/src/react/web/ui/prebuilt/Account/avatar.test.tsx +48 -0
  405. package/src/react/web/ui/prebuilt/Account/avatar.tsx +221 -0
  406. package/src/react/web/ui/prebuilt/Account/balance.test.tsx +54 -0
  407. package/src/react/web/ui/prebuilt/Account/balance.tsx +202 -0
  408. package/src/react/web/ui/prebuilt/Account/blobbie.tsx +12 -0
  409. package/src/react/web/ui/prebuilt/Account/name.test.tsx +62 -0
  410. package/src/react/web/ui/prebuilt/Account/name.tsx +175 -0
  411. package/src/react/web/ui/prebuilt/Account/provider.test.tsx +38 -0
  412. package/src/react/web/ui/prebuilt/Account/provider.tsx +69 -0
  413. package/src/react/web/ui/prebuilt/NFT/NFT.test.tsx +17 -14
  414. package/src/react/web/ui/prebuilt/NFT/description.tsx +87 -0
  415. package/src/react/web/ui/prebuilt/NFT/hooks.tsx +53 -0
  416. package/src/react/web/ui/prebuilt/NFT/media.tsx +119 -0
  417. package/src/react/web/ui/prebuilt/NFT/name.tsx +85 -0
  418. package/src/react/web/ui/prebuilt/NFT/provider.tsx +75 -0
  419. package/src/react/web/ui/prebuilt/Token/icon.tsx +164 -0
  420. package/src/react/web/ui/prebuilt/Token/name.tsx +201 -0
  421. package/src/react/web/ui/prebuilt/Token/provider.tsx +86 -0
  422. package/src/react/web/ui/prebuilt/Token/symbol.tsx +201 -0
  423. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +1 -0
  424. package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +1 -0
  425. package/src/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.tsx +1 -0
  426. package/src/storage/unpin.ts +1 -1
  427. package/src/storage/upload.ts +1 -0
  428. package/src/transaction/actions/to-serializable-transaction.ts +1 -1
  429. package/src/transaction/actions/zksync/send-eip712-transaction.ts +5 -0
  430. package/src/utils/any-evm/zksync/isZkSyncChain.ts +5 -0
  431. package/src/utils/config.ts +9 -0
  432. package/src/utils/json.ts +8 -2
  433. package/src/version.ts +1 -1
  434. package/src/wallets/eip5792/get-calls-status.ts +1 -1
  435. package/src/wallets/eip5792/get-capabilities.ts +1 -1
  436. package/src/wallets/eip5792/send-calls.ts +2 -2
  437. package/src/wallets/eip5792/wait-for-bundle.ts +1 -1
  438. package/src/wallets/in-app/core/users/getUser.ts +1 -1
  439. package/src/wallets/in-app/web/ecosystem.ts +7 -17
  440. package/src/wallets/in-app/web/in-app.ts +2 -17
  441. package/src/wallets/in-app/web/lib/auth/index.ts +1 -0
  442. package/src/wallets/in-app/web/lib/auth/passkeys.ts +24 -23
  443. package/src/wallets/smart/smart-wallet.ts +1 -0
  444. package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js +0 -217
  445. package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
  446. package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js +0 -212
  447. package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
  448. package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts +0 -76
  449. package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts.map +0 -1
  450. package/src/extensions/prebuilts/deploy-published.test.ts +0 -132
  451. package/src/react/web/ui/prebuilt/NFT/NFT.tsx +0 -272
  452. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +0 -270
  453. package/src/wallets/smart/smart-wallet-integration.test.ts +0 -375
@@ -7,30 +7,21 @@ import type {
7
7
  import { createInAppWallet } from "../core/wallet/in-app-core.js";
8
8
 
9
9
  /**
10
- * Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/ecosystems/overview) based on various authentication methods.
11
- *
12
- * Available authentication methods:
13
- * - Email
14
- * - Phone
15
- * - Passkey
16
- * - Google
17
- * - Apple
18
- * - Facebook
19
- * - Discord
20
- * - LINE
21
- * - X
22
- * - Farcaster
10
+ * Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/ecosystems/overview) based on various authentication methods. Full list of available authentication methods [here](/connect/wallet/sign-in-methods/overview).
23
11
  *
24
12
  * Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
25
13
  *
26
- * Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for detailed usage examples.
14
+ * Refer to [inAppWallet](/typescript/v5/inAppWallet) for detailed usage examples.
27
15
  *
28
16
  * @param createOptions - configuration options
29
17
  * Refer to [EcosystemWalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletCreationOptions) for more details.
30
18
  * @returns The created ecosystem wallet.
19
+ *
20
+ *
31
21
  * @example
22
+ * ### Logging into an ecosystem wallet
32
23
  *
33
- * ### Connect to an ecosystem wallet
24
+ * Below is the general code snippet needed to connect via a given auth strategy to an ecosystem wallet. For more variants on the various auth strategies, refer to [inAppWallet](/typescript/v5/inAppWallet).
34
25
  *
35
26
  * ```ts
36
27
  * import { ecosystemWallet } from "thirdweb/wallets";
@@ -44,7 +35,7 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
44
35
  * });
45
36
  * ```
46
37
  *
47
- * [View all connection options](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletConnectionOptions)
38
+ * [View all connection options](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletConnectionOptions).
48
39
  *
49
40
  * ### Connect to a restricted ecosystem wallet with your designated partner ID
50
41
  *
@@ -57,7 +48,6 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
57
48
  * });
58
49
  * ```
59
50
  *
60
- * Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for more usage examples.
61
51
  *
62
52
  * @wallet
63
53
  */
@@ -4,22 +4,7 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
4
4
  import { createInAppWallet } from "../core/wallet/in-app-core.js";
5
5
 
6
6
  /**
7
- * Creates an app scoped wallet for users based on various authentication methods.
8
- *
9
- * Available authentication methods:
10
- * - Email
11
- * - Phone
12
- * - Passkey
13
- * - Guest
14
- * - Google
15
- * - Apple
16
- * - Facebook
17
- * - Discord
18
- * - Coinbase
19
- * - Telegram
20
- * - LINE
21
- * - X
22
- * - Farcaster
7
+ * Creates an app scoped wallet for users based on various authentication methods. Full list of available authentication methods [here](https://portal.thirdweb.com/connect/wallet/sign-in-methods/overview).
23
8
  *
24
9
  * Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
25
10
  *
@@ -42,7 +27,7 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
42
27
  * });
43
28
  * ```
44
29
  *
45
- * [View all available social auth methods](https://portal.thirdweb.com/references/typescript/v5/InAppWalletSocialAuth)
30
+ * [View all available social auth methods](https://portal.thirdweb.com/connect/wallet/sign-in-methods/overview)
46
31
  *
47
32
  * ### Login with email
48
33
  *
@@ -194,6 +194,7 @@ export async function authenticateWithRedirect(
194
194
  * ```ts
195
195
  * import { linkProfile } from "thirdweb/wallets";
196
196
  *
197
+ * // optionally specify the ecosystem if you're linking an ecosystem wallet
197
198
  * await linkProfile({ client, strategy: "discord" });
198
199
  * ```
199
200
  * @wallet
@@ -1,4 +1,4 @@
1
- import { client } from "@passwordless-id/webauthn";
1
+ import { client, parsers } from "@passwordless-id/webauthn";
2
2
  import type { ThirdwebClient } from "../../../../../client/client.js";
3
3
  import { webLocalStorage } from "../../../../../utils/storage/webStorage.js";
4
4
  import {
@@ -25,22 +25,26 @@ export class PasskeyWebClient implements PasskeyClient {
25
25
  rp: RpInfo;
26
26
  }): Promise<RegisterResult> {
27
27
  const { name, challenge, rp } = args;
28
- const registration = await client.register(name, challenge, {
29
- authenticatorType: "auto",
28
+ const registration = await client.register({
29
+ user: name,
30
+ challenge,
30
31
  userVerification: "required",
31
32
  domain: rp.id,
32
33
  attestation: true,
33
- debug: false,
34
34
  });
35
- const clientDataB64 = base64UrlToBase64(registration.clientData);
35
+ const clientDataB64 = base64UrlToBase64(
36
+ registration.response.clientDataJSON,
37
+ );
36
38
  const clientDataParsed = JSON.parse(base64ToString(clientDataB64));
37
39
  return {
38
- authenticatorData: registration.authenticatorData,
39
- credentialId: registration.credential.id,
40
- clientData: registration.clientData,
40
+ authenticatorData: registration.response.authenticatorData,
41
+ credentialId: registration.id,
42
+ clientData: registration.response.clientDataJSON,
41
43
  credential: {
42
- publicKey: registration.credential.publicKey,
43
- algorithm: registration.credential.algorithm,
44
+ publicKey: registration.response.publicKey,
45
+ algorithm: parsers.getAlgoName(
46
+ registration.response.publicKeyAlgorithm,
47
+ ),
44
48
  },
45
49
  origin: clientDataParsed.origin,
46
50
  };
@@ -52,22 +56,19 @@ export class PasskeyWebClient implements PasskeyClient {
52
56
  rp: RpInfo;
53
57
  }): Promise<AuthenticateResult> {
54
58
  const { credentialId, challenge, rp } = args;
55
- const result = await client.authenticate(
56
- credentialId ? [credentialId] : [],
59
+ const result = await client.authenticate({
60
+ allowCredentials: credentialId ? [credentialId] : [],
57
61
  challenge,
58
- {
59
- authenticatorType: "auto",
60
- userVerification: "required",
61
- domain: rp.id,
62
- },
63
- );
64
- const clientDataB64 = base64UrlToBase64(result.clientData);
62
+ userVerification: "required",
63
+ domain: rp.id,
64
+ });
65
+ const clientDataB64 = base64UrlToBase64(result.response.clientDataJSON);
65
66
  const clientDataParsed = JSON.parse(base64ToString(clientDataB64));
66
67
  return {
67
- authenticatorData: result.authenticatorData,
68
- credentialId: result.credentialId,
69
- clientData: result.clientData,
70
- signature: result.signature,
68
+ authenticatorData: result.response.authenticatorData,
69
+ credentialId: result.id,
70
+ clientData: result.response.clientDataJSON,
71
+ signature: result.response.signature,
71
72
  origin: clientDataParsed.origin,
72
73
  };
73
74
  }
@@ -83,6 +83,7 @@ import { getDefaultAccountFactory } from "./lib/constants.js";
83
83
  * sponsorGas: true, // enable sponsored transactions
84
84
  * factoryAddress: "0x...", // custom factory address
85
85
  * });
86
+ * ```
86
87
  *
87
88
  * ## Using v0.7 Entrypoint
88
89
  *
@@ -1,217 +0,0 @@
1
- "use strict";
2
- "use client";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NFTProviderContext = void 0;
5
- exports.NFT = NFT;
6
- exports.getNFTInfo = getNFTInfo;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_query_1 = require("@tanstack/react-query");
9
- const react_1 = require("react");
10
- const getNFT_js_1 = require("../../../../../extensions/erc721/read/getNFT.js");
11
- const getNFT_js_2 = require("../../../../../extensions/erc1155/read/getNFT.js");
12
- const MediaRenderer_js_1 = require("../../MediaRenderer/MediaRenderer.js");
13
- /**
14
- * @internal
15
- */
16
- exports.NFTProviderContext = (0, react_1.createContext)(undefined);
17
- /**
18
- * A React context provider component that supplies NFT-related data to its child components.
19
- *
20
- * This component serves as a wrapper around the `NFTProviderContext.Provider` and passes
21
- * the provided NFT data down to all of its child components through the context API.
22
- *
23
- *
24
- * @component
25
- * @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
26
- *
27
- * @example
28
- * ```tsx
29
- * import { getContract } from "thirdweb";
30
- * import { NFT } from "thirdweb/react";
31
- *
32
- * const contract = getContract({
33
- * address: "0x...",
34
- * chain: ethereum,
35
- * client: yourThirdwebClient,
36
- * });
37
- *
38
- * <NFT contract={contract} tokenId={0n}>
39
- * <Suspense fallback={"Loading media..."}>
40
- * <NFT.Media />
41
- * <NFT.Description />
42
- * </Suspense>
43
- * </NFT>
44
- * ```
45
- */
46
- function NFT(props) {
47
- return ((0, jsx_runtime_1.jsx)(exports.NFTProviderContext.Provider, { value: props, children: props.children }));
48
- }
49
- /**
50
- * @internal
51
- */
52
- function useNFTContext() {
53
- const ctx = (0, react_1.useContext)(exports.NFTProviderContext);
54
- if (!ctx) {
55
- throw new Error("NFTProviderContext not found. Make sure you are using NFT.Media, NFT.Description, etc. inside a <NFT /> component");
56
- }
57
- return ctx;
58
- }
59
- /**
60
- * This component fetches and displays an NFT's media. It uses thirdweb [`MediaRenderer`](https://portal.thirdweb.com/react/v5/components/MediaRenderer) under the hood
61
- * so you can style it just like how you would style a MediaRenderer.
62
- * @returns A MediaRenderer component
63
- *
64
- * Since this component has an internal loading state (for when the NFT media is being fetched),
65
- * you must wrap it with React.Suspense to make it work.
66
- *
67
- * @component
68
- * @example
69
- * ### Basic usage
70
- * ```tsx
71
- * import { getContract } from "thirdweb";
72
- * import { NFT } from "thirdweb/react";
73
- *
74
- * const nftContract = getContract({
75
- * address: "0x...",
76
- * chain: ethereum,
77
- * client: yourThirdwebClient,
78
- * });
79
- *
80
- * <NFT contract={nftContract} tokenId={0n}>
81
- * This will show the media for tokenId #0 from the `nftContract` collection
82
- * <Suspense fallback={"Loading media..."}>
83
- * <NFT.Media />
84
- * </Suspense>
85
- * </NFT>
86
- * ```
87
- *
88
- * ### Basic stylings
89
- * You can style NFT.Media with the `style` and `className` props.
90
- * ```tsx
91
- * <NFT.Media style={{ borderRadius: "8px" }} className="mx-auto" />
92
- * ```
93
- */
94
- NFT.Media = (props) => {
95
- const { contract, tokenId } = useNFTContext();
96
- const nftQuery = (0, react_query_1.useSuspenseQuery)({
97
- queryKey: [
98
- "__nft_info_internal__",
99
- contract.chain.id,
100
- contract.address,
101
- tokenId.toString(),
102
- ],
103
- queryFn: () => getNFTInfo({ contract, tokenId }),
104
- });
105
- const animation_url = nftQuery.data?.metadata.animation_url;
106
- const image = nftQuery.data?.metadata.image || nftQuery.data?.metadata.image_url;
107
- return ((0, jsx_runtime_1.jsx)(MediaRenderer_js_1.MediaRenderer, { client: contract.client, src: animation_url || image, poster: image, ...props }));
108
- };
109
- /**
110
- * This component fetches and displays an NFT's name. It takes in a `className` and `style` props
111
- * so you can style it just like how you would style a <span> element.
112
- * @returns A <span> element containing the name of the NFT
113
- *
114
- * Since this component has an internal loading state (for when the NFT media is being fetched),
115
- * you must wrap it with React.Suspense to make it work.
116
- *
117
- * @component
118
- * @example
119
- * ### Basic usage
120
- * ```tsx
121
- * import { getContract } from "thirdweb";
122
- * import { NFT } from "thirdweb/react";
123
- *
124
- * const nftContract = getContract({
125
- * address: "0x...",
126
- * chain: ethereum,
127
- * client: yourThirdwebClient,
128
- * });
129
- *
130
- * <NFT contract={nftContract} tokenId={0n}>
131
- * This will show the name for tokenId #0 from the `nftContract` collection
132
- * <Suspense fallback={"Loading nft name..."}>
133
- * <NFT.Name className="mx-auto" style={{ color: "red" }} />
134
- * </Suspense>
135
- * </NFT>
136
- * ```
137
- */
138
- NFT.Name = (props) => {
139
- const { contract, tokenId } = useNFTContext();
140
- const nftQuery = (0, react_query_1.useSuspenseQuery)({
141
- queryKey: [
142
- "__nft_info_internal__",
143
- contract.chain.id,
144
- contract.address,
145
- tokenId.toString(),
146
- ],
147
- queryFn: () => getNFTInfo({ contract, tokenId }),
148
- });
149
- const name = nftQuery.data?.metadata.name || "";
150
- return (0, jsx_runtime_1.jsx)("span", { ...props, children: name });
151
- };
152
- /**
153
- * This component fetches and displays an NFT's description. It takes in a `className` and `style` props
154
- * so you can style it just like how you would style a <span> element.
155
- * @returns A <span> element containing the description of the NFT
156
- *
157
- * Since this component has an internal loading state (for when the NFT media is being fetched),
158
- * you must wrap it with React.Suspense to make it work.
159
- *
160
- * @component
161
- * @example
162
- * ### Basic usage
163
- * ```tsx
164
- * import { getContract } from "thirdweb";
165
- * import { NFT } from "thirdweb/react";
166
- *
167
- * const nftContract = getContract({
168
- * address: "0x...",
169
- * chain: ethereum,
170
- * client: yourThirdwebClient,
171
- * });
172
- *
173
- * <NFT contract={nftContract} tokenId={0n}>
174
- * This will show the description for tokenId #0 from the `nftContract` collection
175
- * <Suspense fallback={"Loading description..."}>
176
- * <NFT.Description className="mx-auto" style={{ color: "red" }} />
177
- * </Suspense>
178
- * </NFT>
179
- * ```
180
- */
181
- NFT.Description = (props) => {
182
- const { contract, tokenId } = useNFTContext();
183
- const nftQuery = (0, react_query_1.useSuspenseQuery)({
184
- queryKey: [
185
- "__nft_info_internal__",
186
- contract.chain.id,
187
- contract.address,
188
- tokenId.toString(),
189
- ],
190
- queryFn: () => getNFTInfo({ contract, tokenId }),
191
- });
192
- const description = nftQuery.data?.metadata.description || "";
193
- return (0, jsx_runtime_1.jsx)("span", { ...props, children: description });
194
- };
195
- /**
196
- * @internal
197
- */
198
- async function getNFTInfo(options) {
199
- const nft = await Promise.allSettled([
200
- (0, getNFT_js_1.getNFT)(options),
201
- (0, getNFT_js_2.getNFT)(options),
202
- ]).then(([possibleNFT721, possibleNFT1155]) => {
203
- // getNFT extension always return an NFT object
204
- // so we need to check if the tokenURI exists
205
- if (possibleNFT721.status === "fulfilled" &&
206
- possibleNFT721.value.tokenURI) {
207
- return possibleNFT721.value;
208
- }
209
- if (possibleNFT1155.status === "fulfilled" &&
210
- possibleNFT1155.value.tokenURI) {
211
- return possibleNFT1155.value;
212
- }
213
- throw new Error("Failed to load NFT metadata");
214
- });
215
- return nft;
216
- }
217
- //# sourceMappingURL=NFT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NFT.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/NFT.tsx"],"names":[],"mappings":"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"}
@@ -1,212 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useSuspenseQuery } from "@tanstack/react-query";
4
- import { createContext, useContext } from "react";
5
- import { getNFT as getNFT721 } from "../../../../../extensions/erc721/read/getNFT.js";
6
- import { getNFT as getNFT1155 } from "../../../../../extensions/erc1155/read/getNFT.js";
7
- import { MediaRenderer } from "../../MediaRenderer/MediaRenderer.js";
8
- /**
9
- * @internal
10
- */
11
- export const NFTProviderContext = /* @__PURE__ */ createContext(undefined);
12
- /**
13
- * A React context provider component that supplies NFT-related data to its child components.
14
- *
15
- * This component serves as a wrapper around the `NFTProviderContext.Provider` and passes
16
- * the provided NFT data down to all of its child components through the context API.
17
- *
18
- *
19
- * @component
20
- * @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
21
- *
22
- * @example
23
- * ```tsx
24
- * import { getContract } from "thirdweb";
25
- * import { NFT } from "thirdweb/react";
26
- *
27
- * const contract = getContract({
28
- * address: "0x...",
29
- * chain: ethereum,
30
- * client: yourThirdwebClient,
31
- * });
32
- *
33
- * <NFT contract={contract} tokenId={0n}>
34
- * <Suspense fallback={"Loading media..."}>
35
- * <NFT.Media />
36
- * <NFT.Description />
37
- * </Suspense>
38
- * </NFT>
39
- * ```
40
- */
41
- export function NFT(props) {
42
- return (_jsx(NFTProviderContext.Provider, { value: props, children: props.children }));
43
- }
44
- /**
45
- * @internal
46
- */
47
- function useNFTContext() {
48
- const ctx = useContext(NFTProviderContext);
49
- if (!ctx) {
50
- throw new Error("NFTProviderContext not found. Make sure you are using NFT.Media, NFT.Description, etc. inside a <NFT /> component");
51
- }
52
- return ctx;
53
- }
54
- /**
55
- * This component fetches and displays an NFT's media. It uses thirdweb [`MediaRenderer`](https://portal.thirdweb.com/react/v5/components/MediaRenderer) under the hood
56
- * so you can style it just like how you would style a MediaRenderer.
57
- * @returns A MediaRenderer component
58
- *
59
- * Since this component has an internal loading state (for when the NFT media is being fetched),
60
- * you must wrap it with React.Suspense to make it work.
61
- *
62
- * @component
63
- * @example
64
- * ### Basic usage
65
- * ```tsx
66
- * import { getContract } from "thirdweb";
67
- * import { NFT } from "thirdweb/react";
68
- *
69
- * const nftContract = getContract({
70
- * address: "0x...",
71
- * chain: ethereum,
72
- * client: yourThirdwebClient,
73
- * });
74
- *
75
- * <NFT contract={nftContract} tokenId={0n}>
76
- * This will show the media for tokenId #0 from the `nftContract` collection
77
- * <Suspense fallback={"Loading media..."}>
78
- * <NFT.Media />
79
- * </Suspense>
80
- * </NFT>
81
- * ```
82
- *
83
- * ### Basic stylings
84
- * You can style NFT.Media with the `style` and `className` props.
85
- * ```tsx
86
- * <NFT.Media style={{ borderRadius: "8px" }} className="mx-auto" />
87
- * ```
88
- */
89
- NFT.Media = (props) => {
90
- const { contract, tokenId } = useNFTContext();
91
- const nftQuery = useSuspenseQuery({
92
- queryKey: [
93
- "__nft_info_internal__",
94
- contract.chain.id,
95
- contract.address,
96
- tokenId.toString(),
97
- ],
98
- queryFn: () => getNFTInfo({ contract, tokenId }),
99
- });
100
- const animation_url = nftQuery.data?.metadata.animation_url;
101
- const image = nftQuery.data?.metadata.image || nftQuery.data?.metadata.image_url;
102
- return (_jsx(MediaRenderer, { client: contract.client, src: animation_url || image, poster: image, ...props }));
103
- };
104
- /**
105
- * This component fetches and displays an NFT's name. It takes in a `className` and `style` props
106
- * so you can style it just like how you would style a <span> element.
107
- * @returns A <span> element containing the name of the NFT
108
- *
109
- * Since this component has an internal loading state (for when the NFT media is being fetched),
110
- * you must wrap it with React.Suspense to make it work.
111
- *
112
- * @component
113
- * @example
114
- * ### Basic usage
115
- * ```tsx
116
- * import { getContract } from "thirdweb";
117
- * import { NFT } from "thirdweb/react";
118
- *
119
- * const nftContract = getContract({
120
- * address: "0x...",
121
- * chain: ethereum,
122
- * client: yourThirdwebClient,
123
- * });
124
- *
125
- * <NFT contract={nftContract} tokenId={0n}>
126
- * This will show the name for tokenId #0 from the `nftContract` collection
127
- * <Suspense fallback={"Loading nft name..."}>
128
- * <NFT.Name className="mx-auto" style={{ color: "red" }} />
129
- * </Suspense>
130
- * </NFT>
131
- * ```
132
- */
133
- NFT.Name = (props) => {
134
- const { contract, tokenId } = useNFTContext();
135
- const nftQuery = useSuspenseQuery({
136
- queryKey: [
137
- "__nft_info_internal__",
138
- contract.chain.id,
139
- contract.address,
140
- tokenId.toString(),
141
- ],
142
- queryFn: () => getNFTInfo({ contract, tokenId }),
143
- });
144
- const name = nftQuery.data?.metadata.name || "";
145
- return _jsx("span", { ...props, children: name });
146
- };
147
- /**
148
- * This component fetches and displays an NFT's description. It takes in a `className` and `style` props
149
- * so you can style it just like how you would style a <span> element.
150
- * @returns A <span> element containing the description of the NFT
151
- *
152
- * Since this component has an internal loading state (for when the NFT media is being fetched),
153
- * you must wrap it with React.Suspense to make it work.
154
- *
155
- * @component
156
- * @example
157
- * ### Basic usage
158
- * ```tsx
159
- * import { getContract } from "thirdweb";
160
- * import { NFT } from "thirdweb/react";
161
- *
162
- * const nftContract = getContract({
163
- * address: "0x...",
164
- * chain: ethereum,
165
- * client: yourThirdwebClient,
166
- * });
167
- *
168
- * <NFT contract={nftContract} tokenId={0n}>
169
- * This will show the description for tokenId #0 from the `nftContract` collection
170
- * <Suspense fallback={"Loading description..."}>
171
- * <NFT.Description className="mx-auto" style={{ color: "red" }} />
172
- * </Suspense>
173
- * </NFT>
174
- * ```
175
- */
176
- NFT.Description = (props) => {
177
- const { contract, tokenId } = useNFTContext();
178
- const nftQuery = useSuspenseQuery({
179
- queryKey: [
180
- "__nft_info_internal__",
181
- contract.chain.id,
182
- contract.address,
183
- tokenId.toString(),
184
- ],
185
- queryFn: () => getNFTInfo({ contract, tokenId }),
186
- });
187
- const description = nftQuery.data?.metadata.description || "";
188
- return _jsx("span", { ...props, children: description });
189
- };
190
- /**
191
- * @internal
192
- */
193
- export async function getNFTInfo(options) {
194
- const nft = await Promise.allSettled([
195
- getNFT721(options),
196
- getNFT1155(options),
197
- ]).then(([possibleNFT721, possibleNFT1155]) => {
198
- // getNFT extension always return an NFT object
199
- // so we need to check if the tokenURI exists
200
- if (possibleNFT721.status === "fulfilled" &&
201
- possibleNFT721.value.tokenURI) {
202
- return possibleNFT721.value;
203
- }
204
- if (possibleNFT1155.status === "fulfilled" &&
205
- possibleNFT1155.value.tokenURI) {
206
- return possibleNFT1155.value;
207
- }
208
- throw new Error("Failed to load NFT metadata");
209
- });
210
- return nft;
211
- }
212
- //# sourceMappingURL=NFT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NFT.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/NFT.tsx"],"names":[],"mappings":"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"}