thirdweb 5.56.0 → 5.57.0-nightly-cf1683c3feea6eb36ac6b902a1dd64c8ed8803c9-20240918000340

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 (263) hide show
  1. package/dist/cjs/contract/verification/index.js +29 -33
  2. package/dist/cjs/contract/verification/index.js.map +1 -1
  3. package/dist/cjs/react/core/utils/walletIcon.js +4 -1
  4. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  5. package/dist/cjs/react/native/ui/components/WalletImage.js +2 -0
  6. package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -1
  7. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +21 -1
  8. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  9. package/dist/cjs/react/native/ui/connect/TokenListScreen.js +2 -1
  10. package/dist/cjs/react/native/ui/connect/TokenListScreen.js.map +1 -1
  11. package/dist/cjs/react/native/ui/icons/svgs.js +2 -1
  12. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  13. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +15 -2
  14. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js +12 -12
  16. package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js +5 -5
  18. package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
  19. package/dist/cjs/react/web/ui/MediaRenderer/MediaRenderer.js +1 -1
  20. package/dist/cjs/react/web/ui/MediaRenderer/MediaRenderer.js.map +1 -1
  21. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletHeader.js +3 -3
  22. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletHeader.js.map +1 -1
  23. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +4 -0
  24. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  25. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +38 -19
  26. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  27. package/dist/cjs/react/web/wallets/shared/GuestLogin.js +81 -0
  28. package/dist/cjs/react/web/wallets/shared/GuestLogin.js.map +1 -0
  29. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +1 -1
  30. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  31. package/dist/cjs/react/web/wallets/shared/SocialLogin.js +1 -1
  32. package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
  33. package/dist/cjs/react/web/wallets/shared/locale/de.js +2 -1
  34. package/dist/cjs/react/web/wallets/shared/locale/de.js.map +1 -1
  35. package/dist/cjs/react/web/wallets/shared/locale/en.js +1 -0
  36. package/dist/cjs/react/web/wallets/shared/locale/en.js.map +1 -1
  37. package/dist/cjs/react/web/wallets/shared/locale/es.js +2 -1
  38. package/dist/cjs/react/web/wallets/shared/locale/es.js.map +1 -1
  39. package/dist/cjs/react/web/wallets/shared/locale/fr.js +2 -1
  40. package/dist/cjs/react/web/wallets/shared/locale/fr.js.map +1 -1
  41. package/dist/cjs/react/web/wallets/shared/locale/ja.js +2 -1
  42. package/dist/cjs/react/web/wallets/shared/locale/ja.js.map +1 -1
  43. package/dist/cjs/react/web/wallets/shared/locale/kr.js +2 -1
  44. package/dist/cjs/react/web/wallets/shared/locale/kr.js.map +1 -1
  45. package/dist/cjs/react/web/wallets/shared/locale/tl.js +2 -1
  46. package/dist/cjs/react/web/wallets/shared/locale/tl.js.map +1 -1
  47. package/dist/cjs/react/web/wallets/shared/locale/vi.js +1 -0
  48. package/dist/cjs/react/web/wallets/shared/locale/vi.js.map +1 -1
  49. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -0
  50. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  51. package/dist/cjs/utils/encoding/hex.js +1 -3
  52. package/dist/cjs/utils/encoding/hex.js.map +1 -1
  53. package/dist/cjs/utils/promise/p-limit.js.map +1 -1
  54. package/dist/cjs/utils/signatures/sign-message.js +2 -4
  55. package/dist/cjs/utils/signatures/sign-message.js.map +1 -1
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/cjs/version.js.map +1 -1
  58. package/dist/cjs/wallets/in-app/core/authentication/guest.js +33 -0
  59. package/dist/cjs/wallets/in-app/core/authentication/guest.js.map +1 -0
  60. package/dist/cjs/wallets/in-app/core/authentication/types.js +1 -0
  61. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
  62. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +25 -0
  63. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  64. package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js +1 -3
  65. package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
  66. package/dist/cjs/wallets/in-app/native/helpers/wallet/sss.js.map +1 -1
  67. package/dist/cjs/wallets/in-app/native/native-connector.js +32 -0
  68. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  69. package/dist/cjs/wallets/in-app/web/in-app.js +13 -1
  70. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  71. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +8 -0
  72. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  73. package/dist/cjs/wallets/manager/index.js +5 -0
  74. package/dist/cjs/wallets/manager/index.js.map +1 -1
  75. package/dist/cjs/wallets/types.js +1 -0
  76. package/dist/cjs/wallets/types.js.map +1 -1
  77. package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/switch-chain.js +2 -4
  78. package/dist/cjs/wallets/wallet-connect/receiver/request-handlers/switch-chain.js.map +1 -1
  79. package/dist/esm/contract/verification/index.js +29 -33
  80. package/dist/esm/contract/verification/index.js.map +1 -1
  81. package/dist/esm/react/core/utils/walletIcon.js +3 -0
  82. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  83. package/dist/esm/react/native/ui/components/WalletImage.js +3 -1
  84. package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -1
  85. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +21 -1
  86. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  87. package/dist/esm/react/native/ui/connect/TokenListScreen.js +2 -1
  88. package/dist/esm/react/native/ui/connect/TokenListScreen.js.map +1 -1
  89. package/dist/esm/react/native/ui/icons/svgs.js +1 -0
  90. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  91. package/dist/esm/react/web/ui/ConnectWallet/Details.js +15 -2
  92. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  93. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js +12 -12
  94. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  95. package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js +6 -6
  96. package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
  97. package/dist/esm/react/web/ui/MediaRenderer/MediaRenderer.js +1 -1
  98. package/dist/esm/react/web/ui/MediaRenderer/MediaRenderer.js.map +1 -1
  99. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletHeader.js +3 -3
  100. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletHeader.js.map +1 -1
  101. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +4 -0
  102. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  103. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +38 -19
  104. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  105. package/dist/esm/react/web/wallets/shared/GuestLogin.js +78 -0
  106. package/dist/esm/react/web/wallets/shared/GuestLogin.js.map +1 -0
  107. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +1 -1
  108. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  109. package/dist/esm/react/web/wallets/shared/SocialLogin.js +1 -1
  110. package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
  111. package/dist/esm/react/web/wallets/shared/locale/de.js +2 -1
  112. package/dist/esm/react/web/wallets/shared/locale/de.js.map +1 -1
  113. package/dist/esm/react/web/wallets/shared/locale/en.js +1 -0
  114. package/dist/esm/react/web/wallets/shared/locale/en.js.map +1 -1
  115. package/dist/esm/react/web/wallets/shared/locale/es.js +2 -1
  116. package/dist/esm/react/web/wallets/shared/locale/es.js.map +1 -1
  117. package/dist/esm/react/web/wallets/shared/locale/fr.js +2 -1
  118. package/dist/esm/react/web/wallets/shared/locale/fr.js.map +1 -1
  119. package/dist/esm/react/web/wallets/shared/locale/ja.js +2 -1
  120. package/dist/esm/react/web/wallets/shared/locale/ja.js.map +1 -1
  121. package/dist/esm/react/web/wallets/shared/locale/kr.js +2 -1
  122. package/dist/esm/react/web/wallets/shared/locale/kr.js.map +1 -1
  123. package/dist/esm/react/web/wallets/shared/locale/tl.js +2 -1
  124. package/dist/esm/react/web/wallets/shared/locale/tl.js.map +1 -1
  125. package/dist/esm/react/web/wallets/shared/locale/vi.js +1 -0
  126. package/dist/esm/react/web/wallets/shared/locale/vi.js.map +1 -1
  127. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +1 -0
  128. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  129. package/dist/esm/utils/encoding/hex.js +1 -3
  130. package/dist/esm/utils/encoding/hex.js.map +1 -1
  131. package/dist/esm/utils/promise/p-limit.js.map +1 -1
  132. package/dist/esm/utils/signatures/sign-message.js +2 -4
  133. package/dist/esm/utils/signatures/sign-message.js.map +1 -1
  134. package/dist/esm/version.js +1 -1
  135. package/dist/esm/version.js.map +1 -1
  136. package/dist/esm/wallets/in-app/core/authentication/guest.js +30 -0
  137. package/dist/esm/wallets/in-app/core/authentication/guest.js.map +1 -0
  138. package/dist/esm/wallets/in-app/core/authentication/types.js +1 -0
  139. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
  140. package/dist/esm/wallets/in-app/native/auth/native-auth.js +24 -0
  141. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  142. package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js +1 -3
  143. package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
  144. package/dist/esm/wallets/in-app/native/helpers/wallet/sss.js.map +1 -1
  145. package/dist/esm/wallets/in-app/native/native-connector.js +33 -1
  146. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  147. package/dist/esm/wallets/in-app/web/in-app.js +13 -1
  148. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  149. package/dist/esm/wallets/in-app/web/lib/web-connector.js +8 -0
  150. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  151. package/dist/esm/wallets/manager/index.js +5 -0
  152. package/dist/esm/wallets/manager/index.js.map +1 -1
  153. package/dist/esm/wallets/types.js +1 -0
  154. package/dist/esm/wallets/types.js.map +1 -1
  155. package/dist/esm/wallets/wallet-connect/receiver/request-handlers/switch-chain.js +2 -4
  156. package/dist/esm/wallets/wallet-connect/receiver/request-handlers/switch-chain.js.map +1 -1
  157. package/dist/types/contract/verification/index.d.ts.map +1 -1
  158. package/dist/types/react/core/utils/storage.d.ts +1 -1
  159. package/dist/types/react/core/utils/storage.d.ts.map +1 -1
  160. package/dist/types/react/core/utils/walletIcon.d.ts +2 -1
  161. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  162. package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -1
  163. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  164. package/dist/types/react/native/ui/connect/TokenListScreen.d.ts.map +1 -1
  165. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  166. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  167. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  168. package/dist/types/react/web/ui/ConnectWallet/screens/TokenSelector.d.ts.map +1 -1
  169. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletHeader.d.ts.map +1 -1
  170. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
  171. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +3 -0
  172. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  173. package/dist/types/react/web/wallets/shared/GuestLogin.d.ts +19 -0
  174. package/dist/types/react/web/wallets/shared/GuestLogin.d.ts.map +1 -0
  175. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
  176. package/dist/types/react/web/wallets/shared/locale/de.d.ts +1 -0
  177. package/dist/types/react/web/wallets/shared/locale/de.d.ts.map +1 -1
  178. package/dist/types/react/web/wallets/shared/locale/en.d.ts +1 -0
  179. package/dist/types/react/web/wallets/shared/locale/en.d.ts.map +1 -1
  180. package/dist/types/react/web/wallets/shared/locale/es.d.ts +1 -0
  181. package/dist/types/react/web/wallets/shared/locale/es.d.ts.map +1 -1
  182. package/dist/types/react/web/wallets/shared/locale/fr.d.ts +1 -0
  183. package/dist/types/react/web/wallets/shared/locale/fr.d.ts.map +1 -1
  184. package/dist/types/react/web/wallets/shared/locale/ja.d.ts +1 -0
  185. package/dist/types/react/web/wallets/shared/locale/ja.d.ts.map +1 -1
  186. package/dist/types/react/web/wallets/shared/locale/kr.d.ts +1 -0
  187. package/dist/types/react/web/wallets/shared/locale/kr.d.ts.map +1 -1
  188. package/dist/types/react/web/wallets/shared/locale/tl.d.ts +1 -0
  189. package/dist/types/react/web/wallets/shared/locale/tl.d.ts.map +1 -1
  190. package/dist/types/react/web/wallets/shared/locale/types.d.ts +1 -0
  191. package/dist/types/react/web/wallets/shared/locale/types.d.ts.map +1 -1
  192. package/dist/types/react/web/wallets/shared/locale/vi.d.ts +1 -0
  193. package/dist/types/react/web/wallets/shared/locale/vi.d.ts.map +1 -1
  194. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  195. package/dist/types/utils/encoding/hex.d.ts.map +1 -1
  196. package/dist/types/utils/promise/p-limit.d.ts.map +1 -1
  197. package/dist/types/version.d.ts +1 -1
  198. package/dist/types/version.d.ts.map +1 -1
  199. package/dist/types/wallets/in-app/core/authentication/guest.d.ts +12 -0
  200. package/dist/types/wallets/in-app/core/authentication/guest.d.ts.map +1 -0
  201. package/dist/types/wallets/in-app/core/authentication/types.d.ts +8 -4
  202. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  203. package/dist/types/wallets/in-app/core/wallet/types.d.ts +2 -1
  204. package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
  205. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +4 -3
  206. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  207. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
  208. package/dist/types/wallets/in-app/native/helpers/wallet/sss.d.ts.map +1 -1
  209. package/dist/types/wallets/in-app/native/native-connector.d.ts +1 -0
  210. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  211. package/dist/types/wallets/in-app/web/in-app.d.ts +13 -1
  212. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  213. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +3 -3
  214. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
  215. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  216. package/dist/types/wallets/manager/index.d.ts.map +1 -1
  217. package/dist/types/wallets/types.d.ts +2 -1
  218. package/dist/types/wallets/types.d.ts.map +1 -1
  219. package/dist/types/wallets/wallet-connect/receiver/request-handlers/switch-chain.d.ts.map +1 -1
  220. package/package.json +10 -10
  221. package/src/contract/verification/index.ts +32 -34
  222. package/src/react/core/utils/walletIcon.ts +5 -0
  223. package/src/react/native/ui/components/WalletImage.tsx +3 -0
  224. package/src/react/native/ui/connect/InAppWalletUI.tsx +30 -0
  225. package/src/react/native/ui/connect/TokenListScreen.tsx +9 -12
  226. package/src/react/native/ui/icons/svgs.ts +2 -0
  227. package/src/react/web/ui/ConnectWallet/Details.tsx +15 -2
  228. package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +36 -38
  229. package/src/react/web/ui/ConnectWallet/screens/TokenSelector.tsx +34 -36
  230. package/src/react/web/ui/MediaRenderer/MediaRenderer.tsx +1 -1
  231. package/src/react/web/wallets/ecosystem/EcosystemWalletHeader.tsx +18 -20
  232. package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +16 -0
  233. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +128 -101
  234. package/src/react/web/wallets/shared/GuestLogin.tsx +159 -0
  235. package/src/react/web/wallets/shared/OTPLoginUI.tsx +3 -5
  236. package/src/react/web/wallets/shared/SocialLogin.tsx +1 -1
  237. package/src/react/web/wallets/shared/locale/de.ts +2 -1
  238. package/src/react/web/wallets/shared/locale/en.ts +1 -0
  239. package/src/react/web/wallets/shared/locale/es.ts +2 -1
  240. package/src/react/web/wallets/shared/locale/fr.ts +2 -1
  241. package/src/react/web/wallets/shared/locale/ja.ts +2 -1
  242. package/src/react/web/wallets/shared/locale/kr.ts +2 -1
  243. package/src/react/web/wallets/shared/locale/tl.ts +2 -1
  244. package/src/react/web/wallets/shared/locale/types.ts +1 -0
  245. package/src/react/web/wallets/shared/locale/vi.ts +1 -0
  246. package/src/react/web/wallets/shared/oauthSignIn.ts +6 -2
  247. package/src/utils/encoding/hex.ts +2 -3
  248. package/src/utils/promise/p-limit.ts +165 -165
  249. package/src/utils/signatures/sign-message.ts +3 -3
  250. package/src/version.ts +1 -1
  251. package/src/wallets/in-app/core/authentication/guest.ts +37 -0
  252. package/src/wallets/in-app/core/authentication/types.ts +9 -4
  253. package/src/wallets/in-app/core/wallet/types.ts +6 -1
  254. package/src/wallets/in-app/native/auth/native-auth.ts +34 -3
  255. package/src/wallets/in-app/native/helpers/api/fetchers.ts +1 -2
  256. package/src/wallets/in-app/native/helpers/wallet/sss.ts +1 -6
  257. package/src/wallets/in-app/native/native-connector.ts +42 -2
  258. package/src/wallets/in-app/web/in-app.ts +13 -1
  259. package/src/wallets/in-app/web/lib/auth/oauth.ts +3 -3
  260. package/src/wallets/in-app/web/lib/web-connector.ts +8 -0
  261. package/src/wallets/manager/index.ts +5 -0
  262. package/src/wallets/types.ts +2 -0
  263. package/src/wallets/wallet-connect/receiver/request-handlers/switch-chain.ts +2 -3
@@ -3,6 +3,7 @@ import type { ThirdwebClient } from "../../../client/client.js";
3
3
  import { stringify } from "../../../utils/json.js";
4
4
  import { nativeLocalStorage } from "../../../utils/storage/nativeStorage.js";
5
5
  import type { Account, Wallet } from "../../interfaces/wallet.js";
6
+ import { guestAuthenticate } from "../core/authentication/guest.js";
6
7
  import {
7
8
  loginWithPasskey,
8
9
  registerPasskey,
@@ -16,7 +17,7 @@ import {
16
17
  type LogoutReturnType,
17
18
  type MultiStepAuthArgsType,
18
19
  type MultiStepAuthProviderType,
19
- type OauthOption,
20
+ type OAuthRedirectObject,
20
21
  UserWalletStatus,
21
22
  } from "../core/authentication/types.js";
22
23
  import type { InAppConnector } from "../core/interfaces/connector.js";
@@ -27,6 +28,7 @@ import {
27
28
  authenticate,
28
29
  customJwt,
29
30
  deleteActiveAccount,
31
+ guestLogin,
30
32
  otpLogin,
31
33
  siweLogin,
32
34
  socialLogin,
@@ -99,6 +101,12 @@ export class InAppNativeConnector implements InAppConnector {
99
101
  case "phone": {
100
102
  return verifyOtp(params);
101
103
  }
104
+ case "guest": {
105
+ return guestAuthenticate({
106
+ client: this.options.client,
107
+ ecosystem: params.ecosystem,
108
+ });
109
+ }
102
110
  case "wallet": {
103
111
  return siweAuthenticate({
104
112
  client: this.options.client,
@@ -159,6 +167,11 @@ export class InAppNativeConnector implements InAppConnector {
159
167
  redirectUrl,
160
168
  });
161
169
  }
170
+ case "guest": {
171
+ return this.guestLogin({
172
+ ecosystem: params.ecosystem,
173
+ });
174
+ }
162
175
  case "wallet": {
163
176
  return this.siweLogin({
164
177
  wallet: params.wallet,
@@ -300,7 +313,9 @@ export class InAppNativeConnector implements InAppConnector {
300
313
  return deleteActiveAccount({ client: this.options.client });
301
314
  }
302
315
 
303
- private async socialLogin(auth: OauthOption): Promise<AuthLoginReturnType> {
316
+ private async socialLogin(
317
+ auth: OAuthRedirectObject,
318
+ ): Promise<AuthLoginReturnType> {
304
319
  try {
305
320
  const { storedToken } = await socialLogin(auth, this.options.client);
306
321
  const account = await this.getAccount();
@@ -355,6 +370,31 @@ export class InAppNativeConnector implements InAppConnector {
355
370
  }
356
371
  }
357
372
 
373
+ private async guestLogin(options: {
374
+ ecosystem?: Ecosystem;
375
+ }): Promise<AuthLoginReturnType> {
376
+ try {
377
+ const { storedToken } = await guestLogin(
378
+ this.options.client,
379
+ options.ecosystem,
380
+ );
381
+ const account = await this.getAccount();
382
+ return {
383
+ user: {
384
+ status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
385
+ account,
386
+ authDetails: storedToken.authDetails,
387
+ walletAddress: account.address,
388
+ },
389
+ };
390
+ } catch (error) {
391
+ if (error instanceof Error) {
392
+ throw new Error(`Error generating guest account: ${error.message}`);
393
+ }
394
+ throw new Error("An unknown error occurred generating guest account");
395
+ }
396
+ }
397
+
358
398
  private async customJwt(authOptions: {
359
399
  jwt: string;
360
400
  password: string;
@@ -10,6 +10,7 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
10
10
  * - Email
11
11
  * - Phone
12
12
  * - Passkey
13
+ * - Guest
13
14
  * - Google
14
15
  * - Apple
15
16
  * - Facebook
@@ -136,11 +137,22 @@ import { createInAppWallet } from "../core/wallet/in-app-core.js";
136
137
  * // account will be a smart account with sponsored gas enabled
137
138
  * const account = await wallet.connect({
138
139
  * client,
139
- * chain,
140
140
  * strategy: "google",
141
141
  * });
142
142
  * ```
143
143
  *
144
+ * ### Connect to a guest account
145
+ * ```ts
146
+ * import { inAppWallet } from "thirdweb/wallets";
147
+ *
148
+ * const wallet = inAppWallet();
149
+ *
150
+ * const account = await wallet.connect({
151
+ * client,
152
+ * strategy: "guest",
153
+ * });
154
+ * ```
155
+ *
144
156
  * ### Specify a logo for your login page (Connect UI)
145
157
  * ```ts
146
158
  * import { inAppWallet } from "thirdweb/wallets";
@@ -1,6 +1,6 @@
1
1
  import type { ThirdwebClient } from "../../../../../client/client.js";
2
2
  import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
3
- import type { SocialAuthOption } from "../../../../../wallets/types.js";
3
+ import type { OAuthOption } from "../../../../../wallets/types.js";
4
4
  import { getLoginUrl } from "../../../core/authentication/getLoginPath.js";
5
5
  import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/types.js";
6
6
  import type { Ecosystem } from "../../types.js";
@@ -27,7 +27,7 @@ const closeWindow = ({
27
27
  };
28
28
 
29
29
  export const loginWithOauthRedirect = (options: {
30
- authOption: SocialAuthOption;
30
+ authOption: OAuthOption;
31
31
  client: ThirdwebClient;
32
32
  ecosystem?: Ecosystem;
33
33
  redirectUrl?: string;
@@ -45,7 +45,7 @@ export const loginWithOauthRedirect = (options: {
45
45
  };
46
46
 
47
47
  export const loginWithOauth = async (options: {
48
- authOption: SocialAuthOption;
48
+ authOption: OAuthOption;
49
49
  client: ThirdwebClient;
50
50
  ecosystem?: Ecosystem;
51
51
  openedWindow?: Window | null | undefined;
@@ -3,6 +3,7 @@ import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
3
3
  import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
4
4
  import type { SocialAuthOption } from "../../../../wallets/types.js";
5
5
  import type { Account } from "../../../interfaces/wallet.js";
6
+ import { guestAuthenticate } from "../../core/authentication/guest.js";
6
7
  import {
7
8
  loginWithPasskey,
8
9
  registerPasskey,
@@ -226,6 +227,12 @@ export class InAppWebConnector implements InAppConnector {
226
227
  openedWindow: args.openedWindow,
227
228
  });
228
229
  }
230
+ case "guest": {
231
+ return guestAuthenticate({
232
+ client: this.wallet.client,
233
+ ecosystem: this.wallet.ecosystem,
234
+ });
235
+ }
229
236
  case "wallet": {
230
237
  return siweAuthenticate({
231
238
  ecosystem: this.wallet.ecosystem,
@@ -279,6 +286,7 @@ export class InAppWebConnector implements InAppConnector {
279
286
  case "telegram":
280
287
  case "line":
281
288
  case "x":
289
+ case "guest":
282
290
  case "discord": {
283
291
  const authToken = await this.authenticate(args);
284
292
  return this.auth.loginWithAuthToken(authToken);
@@ -153,6 +153,11 @@ export function createConnectionManager(storage: AsyncStorage) {
153
153
  const connectedWallet = await handleConnection(wallet, options);
154
154
  options?.onConnect?.(connectedWallet);
155
155
  handleSetActiveWallet(connectedWallet);
156
+ wallet.subscribe("accountChanged", async () => {
157
+ const newConnectedWallet = await handleConnection(wallet, options);
158
+ options?.onConnect?.(newConnectedWallet);
159
+ handleSetActiveWallet(newConnectedWallet);
160
+ });
156
161
  return connectedWallet;
157
162
  };
158
163
 
@@ -30,9 +30,11 @@ export const socialAuthOptions = [
30
30
  "telegram",
31
31
  ] as const;
32
32
  export type SocialAuthOption = (typeof socialAuthOptions)[number];
33
+ export type OAuthOption = SocialAuthOption | "guest";
33
34
 
34
35
  export const authOptions = [
35
36
  ...socialAuthOptions,
37
+ "guest",
36
38
  "email",
37
39
  "phone",
38
40
  "passkey",
@@ -14,8 +14,7 @@ export async function handleSwitchChain(options: {
14
14
 
15
15
  if (wallet.getChain()?.id === hexToNumber(params[0].chainId)) {
16
16
  return "0x1";
17
- } else {
18
- await wallet.switchChain(defineChain(hexToNumber(params[0].chainId)));
19
- return "0x1";
20
17
  }
18
+ await wallet.switchChain(defineChain(hexToNumber(params[0].chainId)));
19
+ return "0x1";
21
20
  }