thirdweb 5.37.1-nightly-26d825bc4f0475523ea761aa18ab979557295c28-20240722000339 → 5.38.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 (300) hide show
  1. package/dist/cjs/chains/chain-definitions/astria-evm-dusknet.js +16 -0
  2. package/dist/cjs/chains/chain-definitions/astria-evm-dusknet.js.map +1 -0
  3. package/dist/cjs/chains/chain-definitions/blast-sepolia.js +17 -0
  4. package/dist/cjs/chains/chain-definitions/blast-sepolia.js.map +1 -0
  5. package/dist/cjs/chains/chain-definitions/celo.js +20 -0
  6. package/dist/cjs/chains/chain-definitions/celo.js.map +1 -0
  7. package/dist/cjs/chains/chain-definitions/cronos.js +20 -0
  8. package/dist/cjs/chains/chain-definitions/cronos.js.map +1 -0
  9. package/dist/cjs/chains/chain-definitions/degen.js +15 -0
  10. package/dist/cjs/chains/chain-definitions/degen.js.map +1 -0
  11. package/dist/cjs/chains/chain-definitions/fantom-testnet.js +21 -0
  12. package/dist/cjs/chains/chain-definitions/fantom-testnet.js.map +1 -0
  13. package/dist/cjs/chains/chain-definitions/fantom.js +20 -0
  14. package/dist/cjs/chains/chain-definitions/fantom.js.map +1 -0
  15. package/dist/cjs/chains/chain-definitions/frame-testnet.js +21 -0
  16. package/dist/cjs/chains/chain-definitions/frame-testnet.js.map +1 -0
  17. package/dist/cjs/chains/chain-definitions/gnosis-chiado-testnet.js +17 -0
  18. package/dist/cjs/chains/chain-definitions/gnosis-chiado-testnet.js.map +1 -0
  19. package/dist/cjs/chains/chain-definitions/gnosis.js +16 -0
  20. package/dist/cjs/chains/chain-definitions/gnosis.js.map +1 -0
  21. package/dist/cjs/chains/chain-definitions/god-woken-testnet-v1.js +21 -0
  22. package/dist/cjs/chains/chain-definitions/god-woken-testnet-v1.js.map +1 -0
  23. package/dist/cjs/chains/chain-definitions/god-woken.js +20 -0
  24. package/dist/cjs/chains/chain-definitions/god-woken.js.map +1 -0
  25. package/dist/cjs/chains/chain-definitions/hokum-testnet.js +21 -0
  26. package/dist/cjs/chains/chain-definitions/hokum-testnet.js.map +1 -0
  27. package/dist/cjs/chains/chain-definitions/localhost.js +16 -0
  28. package/dist/cjs/chains/chain-definitions/localhost.js.map +1 -0
  29. package/dist/cjs/chains/chain-definitions/loot.js +20 -0
  30. package/dist/cjs/chains/chain-definitions/loot.js.map +1 -0
  31. package/dist/cjs/chains/chain-definitions/manta-pacific-testnet.js +17 -0
  32. package/dist/cjs/chains/chain-definitions/manta-pacific-testnet.js.map +1 -0
  33. package/dist/cjs/chains/chain-definitions/manta-pacific.js +16 -0
  34. package/dist/cjs/chains/chain-definitions/manta-pacific.js.map +1 -0
  35. package/dist/cjs/chains/chain-definitions/moonbeam.js +20 -0
  36. package/dist/cjs/chains/chain-definitions/moonbeam.js.map +1 -0
  37. package/dist/cjs/chains/chain-definitions/palm-testnet.js +21 -0
  38. package/dist/cjs/chains/chain-definitions/palm-testnet.js.map +1 -0
  39. package/dist/cjs/chains/chain-definitions/palm.js +20 -0
  40. package/dist/cjs/chains/chain-definitions/palm.js.map +1 -0
  41. package/dist/cjs/chains/chain-definitions/polygon-zkevm-testnet.js +17 -0
  42. package/dist/cjs/chains/chain-definitions/polygon-zkevm-testnet.js.map +1 -0
  43. package/dist/cjs/chains/chain-definitions/polygon-zkevm.js +16 -0
  44. package/dist/cjs/chains/chain-definitions/polygon-zkevm.js.map +1 -0
  45. package/dist/cjs/chains/chain-definitions/rari-testnet.js +21 -0
  46. package/dist/cjs/chains/chain-definitions/rari-testnet.js.map +1 -0
  47. package/dist/cjs/chains/chain-definitions/rari.js +20 -0
  48. package/dist/cjs/chains/chain-definitions/rari.js.map +1 -0
  49. package/dist/cjs/chains/chain-definitions/scroll-alpha-testnet.js +21 -0
  50. package/dist/cjs/chains/chain-definitions/scroll-alpha-testnet.js.map +1 -0
  51. package/dist/cjs/chains/chain-definitions/scroll-sepolia-testnet.js +21 -0
  52. package/dist/cjs/chains/chain-definitions/scroll-sepolia-testnet.js.map +1 -0
  53. package/dist/cjs/chains/chain-definitions/scroll.js +20 -0
  54. package/dist/cjs/chains/chain-definitions/scroll.js.map +1 -0
  55. package/dist/cjs/chains/chain-definitions/xai-sepolia.js +17 -0
  56. package/dist/cjs/chains/chain-definitions/xai-sepolia.js.map +1 -0
  57. package/dist/cjs/chains/chain-definitions/xai.js +20 -0
  58. package/dist/cjs/chains/chain-definitions/xai.js.map +1 -0
  59. package/dist/cjs/chains/chain-definitions/zk-candy-sepolia.js +21 -0
  60. package/dist/cjs/chains/chain-definitions/zk-candy-sepolia.js.map +1 -0
  61. package/dist/cjs/exports/chains.js +62 -1
  62. package/dist/cjs/exports/chains.js.map +1 -1
  63. package/dist/cjs/react/web/wallets/shared/openOauthSignInWindow.js +4 -1
  64. package/dist/cjs/react/web/wallets/shared/openOauthSignInWindow.js.map +1 -1
  65. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js +1 -0
  66. package/dist/cjs/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  67. package/dist/cjs/utils/bytecode/resolveImplementation.js +20 -22
  68. package/dist/cjs/utils/bytecode/resolveImplementation.js.map +1 -1
  69. package/dist/cjs/version.js +1 -1
  70. package/dist/cjs/version.js.map +1 -1
  71. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +4 -5
  72. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  73. package/dist/cjs/wallets/in-app/core/authentication/type.js +1 -7
  74. package/dist/cjs/wallets/in-app/core/authentication/type.js.map +1 -1
  75. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +9 -32
  76. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  77. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +1 -5
  78. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  79. package/dist/cjs/wallets/in-app/native/native-connector.js +6 -7
  80. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  81. package/dist/cjs/wallets/in-app/web/lib/auth/{discord.js → oauth.js} +32 -12
  82. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -0
  83. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +6 -12
  84. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  85. package/dist/esm/chains/chain-definitions/astria-evm-dusknet.js +13 -0
  86. package/dist/esm/chains/chain-definitions/astria-evm-dusknet.js.map +1 -0
  87. package/dist/esm/chains/chain-definitions/blast-sepolia.js +14 -0
  88. package/dist/esm/chains/chain-definitions/blast-sepolia.js.map +1 -0
  89. package/dist/esm/chains/chain-definitions/celo.js +17 -0
  90. package/dist/esm/chains/chain-definitions/celo.js.map +1 -0
  91. package/dist/esm/chains/chain-definitions/cronos.js +17 -0
  92. package/dist/esm/chains/chain-definitions/cronos.js.map +1 -0
  93. package/dist/esm/chains/chain-definitions/degen.js +12 -0
  94. package/dist/esm/chains/chain-definitions/degen.js.map +1 -0
  95. package/dist/esm/chains/chain-definitions/fantom-testnet.js +18 -0
  96. package/dist/esm/chains/chain-definitions/fantom-testnet.js.map +1 -0
  97. package/dist/esm/chains/chain-definitions/fantom.js +17 -0
  98. package/dist/esm/chains/chain-definitions/fantom.js.map +1 -0
  99. package/dist/esm/chains/chain-definitions/frame-testnet.js +18 -0
  100. package/dist/esm/chains/chain-definitions/frame-testnet.js.map +1 -0
  101. package/dist/esm/chains/chain-definitions/gnosis-chiado-testnet.js +14 -0
  102. package/dist/esm/chains/chain-definitions/gnosis-chiado-testnet.js.map +1 -0
  103. package/dist/esm/chains/chain-definitions/gnosis.js +13 -0
  104. package/dist/esm/chains/chain-definitions/gnosis.js.map +1 -0
  105. package/dist/esm/chains/chain-definitions/god-woken-testnet-v1.js +18 -0
  106. package/dist/esm/chains/chain-definitions/god-woken-testnet-v1.js.map +1 -0
  107. package/dist/esm/chains/chain-definitions/god-woken.js +17 -0
  108. package/dist/esm/chains/chain-definitions/god-woken.js.map +1 -0
  109. package/dist/esm/chains/chain-definitions/hokum-testnet.js +18 -0
  110. package/dist/esm/chains/chain-definitions/hokum-testnet.js.map +1 -0
  111. package/dist/esm/chains/chain-definitions/localhost.js +13 -0
  112. package/dist/esm/chains/chain-definitions/localhost.js.map +1 -0
  113. package/dist/esm/chains/chain-definitions/loot.js +17 -0
  114. package/dist/esm/chains/chain-definitions/loot.js.map +1 -0
  115. package/dist/esm/chains/chain-definitions/manta-pacific-testnet.js +14 -0
  116. package/dist/esm/chains/chain-definitions/manta-pacific-testnet.js.map +1 -0
  117. package/dist/esm/chains/chain-definitions/manta-pacific.js +13 -0
  118. package/dist/esm/chains/chain-definitions/manta-pacific.js.map +1 -0
  119. package/dist/esm/chains/chain-definitions/moonbeam.js +17 -0
  120. package/dist/esm/chains/chain-definitions/moonbeam.js.map +1 -0
  121. package/dist/esm/chains/chain-definitions/palm-testnet.js +18 -0
  122. package/dist/esm/chains/chain-definitions/palm-testnet.js.map +1 -0
  123. package/dist/esm/chains/chain-definitions/palm.js +17 -0
  124. package/dist/esm/chains/chain-definitions/palm.js.map +1 -0
  125. package/dist/esm/chains/chain-definitions/polygon-zkevm-testnet.js +14 -0
  126. package/dist/esm/chains/chain-definitions/polygon-zkevm-testnet.js.map +1 -0
  127. package/dist/esm/chains/chain-definitions/polygon-zkevm.js +13 -0
  128. package/dist/esm/chains/chain-definitions/polygon-zkevm.js.map +1 -0
  129. package/dist/esm/chains/chain-definitions/rari-testnet.js +18 -0
  130. package/dist/esm/chains/chain-definitions/rari-testnet.js.map +1 -0
  131. package/dist/esm/chains/chain-definitions/rari.js +17 -0
  132. package/dist/esm/chains/chain-definitions/rari.js.map +1 -0
  133. package/dist/esm/chains/chain-definitions/scroll-alpha-testnet.js +18 -0
  134. package/dist/esm/chains/chain-definitions/scroll-alpha-testnet.js.map +1 -0
  135. package/dist/esm/chains/chain-definitions/scroll-sepolia-testnet.js +18 -0
  136. package/dist/esm/chains/chain-definitions/scroll-sepolia-testnet.js.map +1 -0
  137. package/dist/esm/chains/chain-definitions/scroll.js +17 -0
  138. package/dist/esm/chains/chain-definitions/scroll.js.map +1 -0
  139. package/dist/esm/chains/chain-definitions/xai-sepolia.js +14 -0
  140. package/dist/esm/chains/chain-definitions/xai-sepolia.js.map +1 -0
  141. package/dist/esm/chains/chain-definitions/xai.js +17 -0
  142. package/dist/esm/chains/chain-definitions/xai.js.map +1 -0
  143. package/dist/esm/chains/chain-definitions/zk-candy-sepolia.js +18 -0
  144. package/dist/esm/chains/chain-definitions/zk-candy-sepolia.js.map +1 -0
  145. package/dist/esm/exports/chains.js +30 -0
  146. package/dist/esm/exports/chains.js.map +1 -1
  147. package/dist/esm/react/web/wallets/shared/openOauthSignInWindow.js +5 -2
  148. package/dist/esm/react/web/wallets/shared/openOauthSignInWindow.js.map +1 -1
  149. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js +1 -0
  150. package/dist/esm/utils/any-evm/compute-published-contract-deploy-info.js.map +1 -1
  151. package/dist/esm/utils/bytecode/resolveImplementation.js +20 -22
  152. package/dist/esm/utils/bytecode/resolveImplementation.js.map +1 -1
  153. package/dist/esm/version.js +1 -1
  154. package/dist/esm/version.js.map +1 -1
  155. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +2 -3
  156. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  157. package/dist/esm/wallets/in-app/core/authentication/type.js +0 -6
  158. package/dist/esm/wallets/in-app/core/authentication/type.js.map +1 -1
  159. package/dist/esm/wallets/in-app/native/auth/native-auth.js +11 -34
  160. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  161. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +2 -6
  162. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  163. package/dist/esm/wallets/in-app/native/native-connector.js +7 -8
  164. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  165. package/dist/esm/wallets/in-app/web/lib/auth/{discord.js → oauth.js} +27 -9
  166. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -0
  167. package/dist/esm/wallets/in-app/web/lib/web-connector.js +7 -13
  168. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  169. package/dist/types/chains/chain-definitions/astria-evm-dusknet.d.ts +27 -0
  170. package/dist/types/chains/chain-definitions/astria-evm-dusknet.d.ts.map +1 -0
  171. package/dist/types/chains/chain-definitions/blast-sepolia.d.ts +27 -0
  172. package/dist/types/chains/chain-definitions/blast-sepolia.d.ts.map +1 -0
  173. package/dist/types/chains/chain-definitions/celo.d.ts +27 -0
  174. package/dist/types/chains/chain-definitions/celo.d.ts.map +1 -0
  175. package/dist/types/chains/chain-definitions/cronos.d.ts +27 -0
  176. package/dist/types/chains/chain-definitions/cronos.d.ts.map +1 -0
  177. package/dist/types/chains/chain-definitions/degen.d.ts +27 -0
  178. package/dist/types/chains/chain-definitions/degen.d.ts.map +1 -0
  179. package/dist/types/chains/chain-definitions/fantom-testnet.d.ts +27 -0
  180. package/dist/types/chains/chain-definitions/fantom-testnet.d.ts.map +1 -0
  181. package/dist/types/chains/chain-definitions/fantom.d.ts +27 -0
  182. package/dist/types/chains/chain-definitions/fantom.d.ts.map +1 -0
  183. package/dist/types/chains/chain-definitions/frame-testnet.d.ts +27 -0
  184. package/dist/types/chains/chain-definitions/frame-testnet.d.ts.map +1 -0
  185. package/dist/types/chains/chain-definitions/gnosis-chiado-testnet.d.ts +27 -0
  186. package/dist/types/chains/chain-definitions/gnosis-chiado-testnet.d.ts.map +1 -0
  187. package/dist/types/chains/chain-definitions/gnosis.d.ts +27 -0
  188. package/dist/types/chains/chain-definitions/gnosis.d.ts.map +1 -0
  189. package/dist/types/chains/chain-definitions/god-woken-testnet-v1.d.ts +27 -0
  190. package/dist/types/chains/chain-definitions/god-woken-testnet-v1.d.ts.map +1 -0
  191. package/dist/types/chains/chain-definitions/god-woken.d.ts +27 -0
  192. package/dist/types/chains/chain-definitions/god-woken.d.ts.map +1 -0
  193. package/dist/types/chains/chain-definitions/hokum-testnet.d.ts +27 -0
  194. package/dist/types/chains/chain-definitions/hokum-testnet.d.ts.map +1 -0
  195. package/dist/types/chains/chain-definitions/localhost.d.ts +27 -0
  196. package/dist/types/chains/chain-definitions/localhost.d.ts.map +1 -0
  197. package/dist/types/chains/chain-definitions/loot.d.ts +27 -0
  198. package/dist/types/chains/chain-definitions/loot.d.ts.map +1 -0
  199. package/dist/types/chains/chain-definitions/manta-pacific-testnet.d.ts +27 -0
  200. package/dist/types/chains/chain-definitions/manta-pacific-testnet.d.ts.map +1 -0
  201. package/dist/types/chains/chain-definitions/manta-pacific.d.ts +27 -0
  202. package/dist/types/chains/chain-definitions/manta-pacific.d.ts.map +1 -0
  203. package/dist/types/chains/chain-definitions/moonbeam.d.ts +27 -0
  204. package/dist/types/chains/chain-definitions/moonbeam.d.ts.map +1 -0
  205. package/dist/types/chains/chain-definitions/palm-testnet.d.ts +27 -0
  206. package/dist/types/chains/chain-definitions/palm-testnet.d.ts.map +1 -0
  207. package/dist/types/chains/chain-definitions/palm.d.ts +27 -0
  208. package/dist/types/chains/chain-definitions/palm.d.ts.map +1 -0
  209. package/dist/types/chains/chain-definitions/polygon-zkevm-testnet.d.ts +27 -0
  210. package/dist/types/chains/chain-definitions/polygon-zkevm-testnet.d.ts.map +1 -0
  211. package/dist/types/chains/chain-definitions/polygon-zkevm.d.ts +27 -0
  212. package/dist/types/chains/chain-definitions/polygon-zkevm.d.ts.map +1 -0
  213. package/dist/types/chains/chain-definitions/rari-testnet.d.ts +27 -0
  214. package/dist/types/chains/chain-definitions/rari-testnet.d.ts.map +1 -0
  215. package/dist/types/chains/chain-definitions/rari.d.ts +27 -0
  216. package/dist/types/chains/chain-definitions/rari.d.ts.map +1 -0
  217. package/dist/types/chains/chain-definitions/scroll-alpha-testnet.d.ts +27 -0
  218. package/dist/types/chains/chain-definitions/scroll-alpha-testnet.d.ts.map +1 -0
  219. package/dist/types/chains/chain-definitions/scroll-sepolia-testnet.d.ts +27 -0
  220. package/dist/types/chains/chain-definitions/scroll-sepolia-testnet.d.ts.map +1 -0
  221. package/dist/types/chains/chain-definitions/scroll.d.ts +27 -0
  222. package/dist/types/chains/chain-definitions/scroll.d.ts.map +1 -0
  223. package/dist/types/chains/chain-definitions/xai-sepolia.d.ts +27 -0
  224. package/dist/types/chains/chain-definitions/xai-sepolia.d.ts.map +1 -0
  225. package/dist/types/chains/chain-definitions/xai.d.ts +27 -0
  226. package/dist/types/chains/chain-definitions/xai.d.ts.map +1 -0
  227. package/dist/types/chains/chain-definitions/zk-candy-sepolia.d.ts +27 -0
  228. package/dist/types/chains/chain-definitions/zk-candy-sepolia.d.ts.map +1 -0
  229. package/dist/types/exports/chains.d.ts +30 -0
  230. package/dist/types/exports/chains.d.ts.map +1 -1
  231. package/dist/types/react/web/wallets/shared/openOauthSignInWindow.d.ts.map +1 -1
  232. package/dist/types/utils/any-evm/compute-published-contract-deploy-info.d.ts.map +1 -1
  233. package/dist/types/utils/bytecode/resolveImplementation.d.ts.map +1 -1
  234. package/dist/types/version.d.ts +1 -1
  235. package/dist/types/version.d.ts.map +1 -1
  236. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +2 -1
  237. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  238. package/dist/types/wallets/in-app/core/authentication/type.d.ts +1 -2
  239. package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +1 -1
  240. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +1 -1
  241. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  242. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
  243. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  244. package/dist/types/wallets/in-app/web/lib/auth/{discord.d.ts → oauth.d.ts} +6 -3
  245. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -0
  246. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  247. package/package.json +1 -1
  248. package/src/chains/chain-definitions/astria-evm-dusknet.ts +13 -0
  249. package/src/chains/chain-definitions/blast-sepolia.ts +14 -0
  250. package/src/chains/chain-definitions/celo.ts +17 -0
  251. package/src/chains/chain-definitions/cronos.ts +17 -0
  252. package/src/chains/chain-definitions/degen.ts +12 -0
  253. package/src/chains/chain-definitions/fantom-testnet.ts +18 -0
  254. package/src/chains/chain-definitions/fantom.ts +17 -0
  255. package/src/chains/chain-definitions/frame-testnet.ts +18 -0
  256. package/src/chains/chain-definitions/gnosis-chiado-testnet.ts +14 -0
  257. package/src/chains/chain-definitions/gnosis.ts +13 -0
  258. package/src/chains/chain-definitions/god-woken-testnet-v1.ts +18 -0
  259. package/src/chains/chain-definitions/god-woken.ts +17 -0
  260. package/src/chains/chain-definitions/hokum-testnet.ts +18 -0
  261. package/src/chains/chain-definitions/localhost.ts +13 -0
  262. package/src/chains/chain-definitions/loot.ts +17 -0
  263. package/src/chains/chain-definitions/manta-pacific-testnet.ts +14 -0
  264. package/src/chains/chain-definitions/manta-pacific.ts +13 -0
  265. package/src/chains/chain-definitions/moonbeam.ts +17 -0
  266. package/src/chains/chain-definitions/palm-testnet.ts +18 -0
  267. package/src/chains/chain-definitions/palm.ts +17 -0
  268. package/src/chains/chain-definitions/polygon-zkevm-testnet.ts +14 -0
  269. package/src/chains/chain-definitions/polygon-zkevm.ts +13 -0
  270. package/src/chains/chain-definitions/rari-testnet.ts +18 -0
  271. package/src/chains/chain-definitions/rari.ts +17 -0
  272. package/src/chains/chain-definitions/scroll-alpha-testnet.ts +18 -0
  273. package/src/chains/chain-definitions/scroll-sepolia-testnet.ts +18 -0
  274. package/src/chains/chain-definitions/scroll.ts +17 -0
  275. package/src/chains/chain-definitions/xai-sepolia.ts +14 -0
  276. package/src/chains/chain-definitions/xai.ts +17 -0
  277. package/src/chains/chain-definitions/zk-candy-sepolia.ts +18 -0
  278. package/src/exports/chains.ts +31 -0
  279. package/src/react/web/wallets/shared/openOauthSignInWindow.ts +5 -2
  280. package/src/utils/any-evm/compute-published-contract-deploy-info.ts +1 -0
  281. package/src/utils/bytecode/resolveImplementation.test.ts +53 -0
  282. package/src/utils/bytecode/resolveImplementation.ts +23 -24
  283. package/src/version.ts +1 -1
  284. package/src/wallets/in-app/core/authentication/getLoginPath.ts +4 -3
  285. package/src/wallets/in-app/core/authentication/type.ts +1 -11
  286. package/src/wallets/in-app/native/auth/native-auth.ts +10 -47
  287. package/src/wallets/in-app/native/helpers/auth/middleware.ts +2 -9
  288. package/src/wallets/in-app/native/native-connector.ts +6 -19
  289. package/src/wallets/in-app/web/lib/auth/{discord.ts → oauth.ts} +46 -10
  290. package/src/wallets/in-app/web/lib/web-connector.ts +6 -13
  291. package/dist/cjs/wallets/in-app/web/lib/auth/discord.js.map +0 -1
  292. package/dist/cjs/wallets/in-app/web/lib/auth/utils.js +0 -18
  293. package/dist/cjs/wallets/in-app/web/lib/auth/utils.js.map +0 -1
  294. package/dist/esm/wallets/in-app/web/lib/auth/discord.js.map +0 -1
  295. package/dist/esm/wallets/in-app/web/lib/auth/utils.js +0 -14
  296. package/dist/esm/wallets/in-app/web/lib/auth/utils.js.map +0 -1
  297. package/dist/types/wallets/in-app/web/lib/auth/discord.d.ts.map +0 -1
  298. package/dist/types/wallets/in-app/web/lib/auth/utils.d.ts +0 -6
  299. package/dist/types/wallets/in-app/web/lib/auth/utils.d.ts.map +0 -1
  300. package/src/wallets/in-app/web/lib/auth/utils.ts +0 -19
@@ -26,6 +26,22 @@ export { optimismSepolia } from "../chains/chain-definitions/optimism-sepolia.js
26
26
  export { optimism } from "../chains/chain-definitions/optimism.js";
27
27
  export { lineaSepolia } from "../chains/chain-definitions/linea-sepolia.js";
28
28
  export { linea } from "../chains/chain-definitions/linea.js";
29
+ export { astriaEvmDusknet } from "../chains/chain-definitions/astria-evm-dusknet.js";
30
+ export { fantom } from "../chains/chain-definitions/fantom.js";
31
+ export { polygonZkEvm } from "../chains/chain-definitions/polygon-zkevm.js";
32
+ export { gnosis } from "../chains/chain-definitions/gnosis.js";
33
+ export { mantaPacific } from "../chains/chain-definitions/manta-pacific.js";
34
+ export { xai } from "../chains/chain-definitions/xai.js";
35
+ export { celo } from "../chains/chain-definitions/celo.js";
36
+ export { cronos } from "../chains/chain-definitions/cronos.js";
37
+ export { degen } from "../chains/chain-definitions/degen.js";
38
+ export { scroll } from "../chains/chain-definitions/scroll.js";
39
+ export { moonbeam } from "../chains/chain-definitions/moonbeam.js";
40
+ export { loot } from "../chains/chain-definitions/loot.js";
41
+ export { palm } from "../chains/chain-definitions/palm.js";
42
+ export { rari } from "../chains/chain-definitions/rari.js";
43
+ export { godWoken } from "../chains/chain-definitions/god-woken.js";
44
+
29
45
  // mumbai = alias for polygonMumbai
30
46
  export {
31
47
  polygonMumbai,
@@ -40,3 +56,18 @@ export { bsc } from "../chains/chain-definitions/bsc.js";
40
56
  export { bscTestnet } from "../chains/chain-definitions/bsc-testnet.js";
41
57
  export { zkSync } from "../chains/chain-definitions/zksync.js";
42
58
  export { zkSyncSepolia } from "../chains/chain-definitions/zksync-sepolia.js";
59
+ export { localhost } from "../chains/chain-definitions/localhost.js";
60
+ export { zkCandySepolia } from "../chains/chain-definitions/zk-candy-sepolia.js";
61
+ export { fantomTestnet } from "../chains/chain-definitions/fantom-testnet.js";
62
+ export { polygonZkEvmTestnet } from "../chains/chain-definitions/polygon-zkevm-testnet.js";
63
+ export { gnosisChiadoTestnet } from "../chains/chain-definitions/gnosis-chiado-testnet.js";
64
+ export { blastSepolia } from "../chains/chain-definitions/blast-sepolia.js";
65
+ export { mantaPacificTestnet } from "../chains/chain-definitions/manta-pacific-testnet.js";
66
+ export { xaiSepolia } from "../chains/chain-definitions/xai-sepolia.js";
67
+ export { scrollAlphaTestnet } from "../chains/chain-definitions/scroll-alpha-testnet.js";
68
+ export { scrollSepoliaTestnet } from "../chains/chain-definitions/scroll-sepolia-testnet.js";
69
+ export { palmTestnet } from "../chains/chain-definitions/palm-testnet.js";
70
+ export { rariTestnet } from "../chains/chain-definitions/rari-testnet.js";
71
+ export { frameTestnet } from "../chains/chain-definitions/frame-testnet.js";
72
+ export { hokumTestnet } from "../chains/chain-definitions/hokum-testnet.js";
73
+ export { godWokenTestnetV1 } from "../chains/chain-definitions/god-woken-testnet-v1.js";
@@ -1,5 +1,5 @@
1
1
  import type { ThirdwebClient } from "../../../../client/client.js";
2
- import { getDiscordLoginPath } from "../../../../wallets/in-app/core/authentication/getLoginPath.js";
2
+ import { getSocialAuthLoginPath } from "../../../../wallets/in-app/core/authentication/getLoginPath.js";
3
3
  import type { InAppWalletSocialAuth } from "../../../../wallets/in-app/core/wallet/types.js";
4
4
  import type { Ecosystem } from "../../../../wallets/in-app/web/types.js";
5
5
  import type { Theme } from "../../../core/design-system/index.js";
@@ -30,8 +30,11 @@ function getOauthLoginPath(
30
30
  ecosystem?: Ecosystem,
31
31
  ) {
32
32
  switch (authOption) {
33
+ case "apple":
34
+ case "facebook":
35
+ case "google":
33
36
  case "discord":
34
- return getDiscordLoginPath(client, ecosystem);
37
+ return getSocialAuthLoginPath(authOption, client, ecosystem);
35
38
  default:
36
39
  return "";
37
40
  }
@@ -24,6 +24,7 @@ export async function computeDeploymentInfoFromContractId(args: {
24
24
  client,
25
25
  contractId,
26
26
  publisher: args.publisher,
27
+ version: args.version,
27
28
  });
28
29
  return computeDeploymentInfoFromMetadata({
29
30
  client,
@@ -0,0 +1,53 @@
1
+ import type { AbiConstructor } from "abitype";
2
+ import { describe, expect, it } from "vitest";
3
+ import {
4
+ DUMMY_BYTECODE,
5
+ ERC1967_PROXY_BYTECODE,
6
+ ERC1967_PROXY_CONSTRUCTOR_ABI,
7
+ } from "../../../test/src/abis/proxy.js";
8
+ import { ANVIL_CHAIN } from "../../../test/src/chains.js";
9
+ import { TEST_CLIENT } from "../../../test/src/test-clients.js";
10
+ import {
11
+ NFT_DROP_CONTRACT,
12
+ NFT_DROP_IMPLEMENTATION,
13
+ } from "../../../test/src/test-contracts.js";
14
+ import { TEST_ACCOUNT_A } from "../../../test/src/test-wallets.js";
15
+ import { getContract } from "../../contract/contract.js";
16
+ import { deployContract } from "../../contract/deployment/deploy-with-abi.js";
17
+ import { resolveImplementation } from "./resolveImplementation.js";
18
+
19
+ describe("Resolve implementation", async () => {
20
+ it("should extract implementation address for minimal proxy contract", async () => {
21
+ const resolved = resolveImplementation(NFT_DROP_CONTRACT);
22
+ expect((await resolved).address).to.equal(NFT_DROP_IMPLEMENTATION);
23
+ });
24
+
25
+ it("should extract implementation address for ERC1967 proxy contract", async () => {
26
+ const implementationAddress = await deployContract({
27
+ client: TEST_CLIENT,
28
+ chain: ANVIL_CHAIN,
29
+ account: TEST_ACCOUNT_A,
30
+ bytecode: DUMMY_BYTECODE,
31
+ constructorAbi: {} as AbiConstructor,
32
+ constructorParams: [],
33
+ });
34
+
35
+ const proxyAddress = await deployContract({
36
+ client: TEST_CLIENT,
37
+ chain: ANVIL_CHAIN,
38
+ account: TEST_ACCOUNT_A,
39
+ bytecode: ERC1967_PROXY_BYTECODE,
40
+ constructorAbi: ERC1967_PROXY_CONSTRUCTOR_ABI as AbiConstructor,
41
+ constructorParams: [implementationAddress, ""],
42
+ });
43
+
44
+ const proxy = getContract({
45
+ chain: ANVIL_CHAIN,
46
+ address: proxyAddress,
47
+ client: TEST_CLIENT,
48
+ });
49
+
50
+ const resolved = await resolveImplementation(proxy);
51
+ expect(resolved.address).to.equal(implementationAddress);
52
+ });
53
+ });
@@ -42,40 +42,39 @@ export async function resolveImplementation(
42
42
  }
43
43
 
44
44
  // check other proxy types
45
+ let implementationAddress: string | undefined;
45
46
  if (beacon && beacon !== AddressZero) {
46
47
  // In case of a BeaconProxy, it is setup as BeaconProxy --> Beacon --> Implementation
47
48
  // Hence we replace the proxy address with Beacon address, and continue further resolving below
48
49
  // biome-ignore lint/style/noParameterAssign: we purposefully mutate the contract object here
49
50
  contract = { ...contract, address: beacon };
51
+
52
+ implementationAddress = await getImplementationFromContractCall(contract);
53
+ } else {
54
+ implementationAddress = await getImplementationFromStorageSlot(contract);
50
55
  }
51
- const implementations = await Promise.all([
52
- getImplementationFromStorageSlot(contract),
53
- getImplementationFromContractCall(contract),
54
- ]);
55
- // this seems inefficient
56
- for (const implementationAddress of implementations) {
57
- if (
58
- implementationAddress &&
59
- isAddress(implementationAddress) &&
60
- implementationAddress !== AddressZero
61
- ) {
62
- const implementationBytecode = await getBytecode({
63
- ...contract,
64
- address: implementationAddress,
65
- });
66
- // return the original contract bytecode if the implementation bytecode is empty
67
- if (implementationBytecode === "0x") {
68
- return {
69
- address: contract.address,
70
- bytecode: originalBytecode,
71
- };
72
- }
73
56
 
57
+ if (
58
+ implementationAddress &&
59
+ isAddress(implementationAddress) &&
60
+ implementationAddress !== AddressZero
61
+ ) {
62
+ const implementationBytecode = await getBytecode({
63
+ ...contract,
64
+ address: implementationAddress,
65
+ });
66
+ // return the original contract bytecode if the implementation bytecode is empty
67
+ if (implementationBytecode === "0x") {
74
68
  return {
75
- address: implementationAddress,
76
- bytecode: implementationBytecode,
69
+ address: contract.address,
70
+ bytecode: originalBytecode,
77
71
  };
78
72
  }
73
+
74
+ return {
75
+ address: implementationAddress,
76
+ bytecode: implementationBytecode,
77
+ };
79
78
  }
80
79
 
81
80
  return { address: contract.address, bytecode: originalBytecode };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.37.1-nightly-26d825bc4f0475523ea761aa18ab979557295c28-20240722000339";
1
+ export const version = "5.38.0";
@@ -1,13 +1,14 @@
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
4
  import type { Ecosystem } from "../../web/types.js";
4
5
 
5
- // TODO: make this generic for all auth providers
6
- export const getDiscordLoginPath = (
6
+ export const getSocialAuthLoginPath = (
7
+ authOption: SocialAuthOption,
7
8
  client: ThirdwebClient,
8
9
  ecosystem?: Ecosystem,
9
10
  ) => {
10
- const baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/discord?clientId=${client.clientId}`;
11
+ const baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}?clientId=${client.clientId}`;
11
12
  if (ecosystem?.partnerId) {
12
13
  return `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
13
14
  }
@@ -65,7 +65,7 @@ export enum AuthProvider {
65
65
  }
66
66
 
67
67
  export type OauthOption = {
68
- provider: AuthProvider;
68
+ strategy: SocialAuthOption;
69
69
  redirectUrl: string;
70
70
  };
71
71
 
@@ -207,13 +207,3 @@ export type GetUser =
207
207
  export type GetAuthenticatedUserParams = {
208
208
  client: ThirdwebClient;
209
209
  };
210
-
211
- export const oauthStrategyToAuthProvider: Record<
212
- SocialAuthOption,
213
- AuthProvider
214
- > = {
215
- google: AuthProvider.GOOGLE,
216
- facebook: AuthProvider.FACEBOOK,
217
- apple: AuthProvider.APPLE,
218
- discord: AuthProvider.DISCORD,
219
- };
@@ -3,7 +3,7 @@ import type { CognitoUser } from "amazon-cognito-identity-js";
3
3
  import { Auth } from "aws-amplify";
4
4
  import * as WebBrowser from "expo-web-browser";
5
5
  import type { ThirdwebClient } from "../../../../client/client.js";
6
- import { getDiscordLoginPath } from "../../core/authentication/getLoginPath.js";
6
+ import { getSocialAuthLoginPath } from "../../core/authentication/getLoginPath.js";
7
7
  import {
8
8
  AuthProvider,
9
9
  type AuthStoredTokenWithCookieReturnType,
@@ -30,10 +30,8 @@ import {
30
30
  preAuth,
31
31
  } from "../helpers/auth/middleware.js";
32
32
  import {
33
- DOMAIN_URL_2023,
34
33
  ROUTE_AUTH_ENDPOINT_CALLBACK,
35
34
  ROUTE_AUTH_JWT_CALLBACK,
36
- ROUTE_HEADLESS_OAUTH_LOGIN,
37
35
  } from "../helpers/constants.js";
38
36
  import { createErrorMessage } from "../helpers/errors.js";
39
37
  import { isDeviceSharePresentForUser } from "../helpers/storage/local.js";
@@ -207,48 +205,14 @@ export async function validateEmailOTP(options: {
207
205
  }
208
206
 
209
207
  export async function socialLogin(
210
- oauthOptions: OauthOption,
208
+ auth: OauthOption,
211
209
  client: ThirdwebClient,
212
210
  ): Promise<AuthStoredTokenWithCookieReturnType> {
213
- const encodedProvider = encodeURIComponent(oauthOptions.provider);
214
- const headlessLoginLinkWithParams = `${ROUTE_HEADLESS_OAUTH_LOGIN}?authProvider=${encodedProvider}&baseUrl=${encodeURIComponent(
215
- DOMAIN_URL_2023,
216
- )}&platform=${encodeURIComponent("mobile")}`;
211
+ const loginUrl = `${getSocialAuthLoginPath(auth.strategy, client)}&redirectUrl=${encodeURIComponent(auth.redirectUrl)}`;
217
212
 
218
- const resp = await fetch(headlessLoginLinkWithParams, {
219
- headers: {
220
- ...getSessionHeaders(),
221
- },
222
- });
223
-
224
- if (!resp.ok) {
225
- const error = await resp.json();
226
- throw new Error(`Error getting headless sign in link: ${error.message}`);
227
- }
228
-
229
- const json = await resp.json();
230
-
231
- const { platformLoginLink } = json;
232
-
233
- // Temporary fork for discord until we migrate all methods to the new auth flow
234
- const loginUrl = (() => {
235
- if (oauthOptions.provider === AuthProvider.DISCORD) {
236
- return `${getDiscordLoginPath(client)}&redirectUrl=${encodeURIComponent(
237
- oauthOptions.redirectUrl,
238
- )}`;
239
- } else {
240
- return `${platformLoginLink}?developerClientId=${encodeURIComponent(
241
- client.clientId,
242
- )}&platform=${encodeURIComponent("mobile")}&redirectUrl=${encodeURIComponent(
243
- oauthOptions.redirectUrl,
244
- )}&authOption=${encodedProvider}`;
245
- }
246
- })();
247
-
248
- // TODO platform specific code should be extracted out
249
213
  const result = await WebBrowser.openAuthSessionAsync(
250
214
  loginUrl,
251
- oauthOptions.redirectUrl,
215
+ auth.redirectUrl,
252
216
  {
253
217
  preferEphemeralSession: false,
254
218
  showTitle: false,
@@ -262,19 +226,18 @@ export async function socialLogin(
262
226
  }
263
227
 
264
228
  if (result.type !== "success") {
265
- throw new Error(`Can't sign in with ${oauthOptions.provider}: ${result}`);
229
+ throw new Error(`Can't sign in with ${auth.strategy}: ${result}`);
266
230
  }
267
231
 
268
- const decodedUrl = decodeURIComponent(result.url);
232
+ const resultURL = new URL(result.url);
233
+ const authResult = resultURL.searchParams.get("authResult");
234
+ const error = resultURL.searchParams.get("error");
269
235
 
270
- const parts = decodedUrl.split("?authResult=");
271
- if (parts.length < 2) {
272
- // assume error
273
- const error = decodedUrl.split("?error=")?.[1];
236
+ // assume error
237
+ if (error) {
274
238
  throw new Error(`Something went wrong: ${error}`);
275
239
  }
276
240
 
277
- const authResult = parts[1];
278
241
  if (!authResult) {
279
242
  throw new Error("No auth result found");
280
243
  }
@@ -11,10 +11,7 @@ import {
11
11
  setWallerUserDetails,
12
12
  } from "../storage/local.js";
13
13
  import { setUpNewUserWallet } from "../wallet/creation.js";
14
- import {
15
- getCognitoRecoveryPasswordV1,
16
- getCognitoRecoveryPasswordV2,
17
- } from "../wallet/recoveryCode.js";
14
+ import { getCognitoRecoveryPasswordV2 } from "../wallet/recoveryCode.js";
18
15
  import { setUpShareForNewDevice } from "../wallet/retrieval.js";
19
16
 
20
17
  export async function preAuth(args: {
@@ -154,11 +151,7 @@ async function getRecoveryCode(
154
151
  return recoveryCode;
155
152
  } else {
156
153
  try {
157
- // temporary fork for discord until we migrate all methods to the new auth flow
158
- const code = await (storedToken.authProvider === AuthProvider.DISCORD
159
- ? getCognitoRecoveryPasswordV2(client)
160
- : getCognitoRecoveryPasswordV1(client));
161
- return code;
154
+ return await getCognitoRecoveryPasswordV2(client);
162
155
  } catch (e) {
163
156
  throw new Error("Something went wrong getting cognito recovery code");
164
157
  }
@@ -9,7 +9,6 @@ import {
9
9
  type PreAuthArgsType,
10
10
  type SendEmailOtpReturnType,
11
11
  UserWalletStatus,
12
- oauthStrategyToAuthProvider,
13
12
  } from "../core/authentication/type.js";
14
13
  import type { InAppConnector } from "../core/interfaces/connector.js";
15
14
  import {
@@ -114,9 +113,8 @@ export class InAppNativeConnector implements InAppConnector {
114
113
  const ExpoLinking = require("expo-linking");
115
114
  const redirectUrl =
116
115
  params.redirectUrl || (ExpoLinking.createURL("") as string);
117
- const oauthProvider = oauthStrategyToAuthProvider[strategy];
118
116
  return this.socialLogin({
119
- provider: oauthProvider,
117
+ strategy,
120
118
  redirectUrl,
121
119
  });
122
120
  }
@@ -181,14 +179,9 @@ export class InAppNativeConnector implements InAppConnector {
181
179
  return deleteActiveAccount({ client: this.options.client });
182
180
  }
183
181
 
184
- private async socialLogin(
185
- oauthOption: OauthOption,
186
- ): Promise<AuthLoginReturnType> {
182
+ private async socialLogin(auth: OauthOption): Promise<AuthLoginReturnType> {
187
183
  try {
188
- const { storedToken } = await socialLogin(
189
- oauthOption,
190
- this.options.client,
191
- );
184
+ const { storedToken } = await socialLogin(auth, this.options.client);
192
185
  const account = await this.getAccount();
193
186
  return {
194
187
  user: {
@@ -199,17 +192,11 @@ export class InAppNativeConnector implements InAppConnector {
199
192
  },
200
193
  };
201
194
  } catch (error) {
202
- console.error(
203
- `Error while signing in with: ${oauthOption.provider}. ${error}`,
204
- );
195
+ console.error(`Error while signing in with: ${auth}. ${error}`);
205
196
  if (error instanceof Error) {
206
- throw new Error(
207
- `Error signing in with ${oauthOption.provider}: ${error.message}`,
208
- );
197
+ throw new Error(`Error signing in with ${auth}: ${error.message}`);
209
198
  }
210
- throw new Error(
211
- `An unknown error occurred signing in with ${oauthOption.provider}`,
212
- );
199
+ throw new Error(`An unknown error occurred signing in with ${auth}`);
213
200
  }
214
201
  }
215
202
 
@@ -1,23 +1,62 @@
1
1
  import type { ThirdwebClient } from "../../../../../client/client.js";
2
2
  import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
3
3
  import type { AuthStoredTokenWithCookieReturnType } from "../../../../../wallets/in-app/core/authentication/type.js";
4
- import { getDiscordLoginPath } from "../../../core/authentication/getLoginPath.js";
4
+ import type { SocialAuthOption } from "../../../../../wallets/types.js";
5
5
  import type { Ecosystem } from "../../types.js";
6
6
  import { DEFAULT_POP_UP_SIZE } from "./constants.js";
7
- import { closeWindow } from "./utils.js";
8
7
 
9
- export async function loginWithDiscord(options: {
8
+ const closeWindow = ({
9
+ isWindowOpenedByFn,
10
+ win,
11
+ closeOpenedWindow,
12
+ }: {
13
+ win?: Window | null;
14
+ isWindowOpenedByFn: boolean;
15
+ closeOpenedWindow?: (openedWindow: Window) => void;
16
+ }) => {
17
+ if (isWindowOpenedByFn) {
18
+ win?.close();
19
+ } else {
20
+ if (win && closeOpenedWindow) {
21
+ closeOpenedWindow(win);
22
+ } else if (win) {
23
+ win.close();
24
+ }
25
+ }
26
+ };
27
+
28
+ export const getSocialAuthLoginPath = (
29
+ authOption: SocialAuthOption,
30
+ client: ThirdwebClient,
31
+ ecosystem?: Ecosystem,
32
+ ) => {
33
+ const baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}?clientId=${client.clientId}`;
34
+ if (ecosystem?.partnerId) {
35
+ return `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
36
+ }
37
+ if (ecosystem) {
38
+ return `${baseUrl}&ecosystemId=${ecosystem.id}`;
39
+ }
40
+ return baseUrl;
41
+ };
42
+
43
+ export const loginWithOauth = async (options: {
44
+ authOption: SocialAuthOption;
10
45
  client: ThirdwebClient;
11
46
  ecosystem?: Ecosystem;
12
47
  openedWindow?: Window | null | undefined;
13
48
  closeOpenedWindow?: ((openedWindow: Window) => void) | undefined;
14
- }): Promise<AuthStoredTokenWithCookieReturnType> {
49
+ }): Promise<AuthStoredTokenWithCookieReturnType> => {
15
50
  let win = options.openedWindow;
16
51
  let isWindowOpenedByFn = false;
17
52
  if (!win) {
18
53
  win = window.open(
19
- getDiscordLoginPath(options.client, options.ecosystem),
20
- "Login to discord",
54
+ getSocialAuthLoginPath(
55
+ options.authOption,
56
+ options.client,
57
+ options.ecosystem,
58
+ ),
59
+ `Login to ${options.authOption}`,
21
60
  DEFAULT_POP_UP_SIZE,
22
61
  );
23
62
  isWindowOpenedByFn = true;
@@ -30,9 +69,6 @@ export async function loginWithDiscord(options: {
30
69
  (resolve, reject) => {
31
70
  // detect when the user closes the login window
32
71
  const pollTimer = window.setInterval(async () => {
33
- if (!win) {
34
- return;
35
- }
36
72
  if (win.closed) {
37
73
  clearInterval(pollTimer);
38
74
  window.removeEventListener("message", messageListener);
@@ -89,4 +125,4 @@ export async function loginWithDiscord(options: {
89
125
  },
90
126
  );
91
127
  return result;
92
- }
128
+ };
@@ -10,13 +10,12 @@ import {
10
10
  type SendEmailOtpReturnType,
11
11
  type SingleStepAuthArgsType,
12
12
  UserWalletStatus,
13
- oauthStrategyToAuthProvider,
14
13
  } from "../../core/authentication/type.js";
15
14
  import type { InAppConnector } from "../../core/interfaces/connector.js";
16
15
  import type { InAppWalletConstructorType } from "../types.js";
17
16
  import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
18
- import { loginWithDiscord } from "./auth/discord.js";
19
17
  import { Auth, type AuthQuerierTypes } from "./auth/iframe-auth.js";
18
+ import { loginWithOauth } from "./auth/oauth.js";
20
19
  import { loginWithPasskey, registerPasskey } from "./auth/passkeys.js";
21
20
  import { IFrameWallet } from "./in-app-account.js";
22
21
 
@@ -169,16 +168,6 @@ export class InAppWebConnector implements InAppConnector {
169
168
  phoneNumber: args.phoneNumber,
170
169
  });
171
170
  }
172
- case "apple":
173
- case "facebook":
174
- case "google": {
175
- const oauthProvider = oauthStrategyToAuthProvider[strategy];
176
- return this.auth.loginWithOauth({
177
- oauthProvider,
178
- closeOpenedWindow: args.closeOpenedWindow,
179
- openedWindow: args.openedWindow,
180
- });
181
- }
182
171
  case "jwt": {
183
172
  return this.auth.loginWithCustomJwt({
184
173
  jwt: args.jwt,
@@ -216,8 +205,12 @@ export class InAppWebConnector implements InAppConnector {
216
205
  });
217
206
  return this.auth.loginWithAuthToken(authToken);
218
207
  }
208
+ case "apple":
209
+ case "facebook":
210
+ case "google":
219
211
  case "discord": {
220
- const authToken = await loginWithDiscord({
212
+ const authToken = await loginWithOauth({
213
+ authOption: strategy,
221
214
  client: this.wallet.client,
222
215
  ecosystem: this.wallet.ecosystem,
223
216
  closeOpenedWindow: args.closeOpenedWindow,
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/discord.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.closeWindow = void 0;
4
- const closeWindow = ({ isWindowOpenedByFn, win, closeOpenedWindow, }) => {
5
- if (isWindowOpenedByFn) {
6
- win?.close();
7
- }
8
- else {
9
- if (win && closeOpenedWindow) {
10
- closeOpenedWindow(win);
11
- }
12
- else if (win) {
13
- win.close();
14
- }
15
- }
16
- };
17
- exports.closeWindow = closeWindow;
18
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,EAC1B,kBAAkB,EAClB,GAAG,EACH,iBAAiB,GAKlB,EAAE,EAAE;IACH,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,EAAE,KAAK,EAAE,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC7B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAlBW,QAAA,WAAW,eAkBtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/discord.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export const closeWindow = ({ isWindowOpenedByFn, win, closeOpenedWindow, }) => {
2
- if (isWindowOpenedByFn) {
3
- win?.close();
4
- }
5
- else {
6
- if (win && closeOpenedWindow) {
7
- closeOpenedWindow(win);
8
- }
9
- else if (win) {
10
- win.close();
11
- }
12
- }
13
- };
14
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,kBAAkB,EAClB,GAAG,EACH,iBAAiB,GAKlB,EAAE,EAAE;IACH,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,EAAE,KAAK,EAAE,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC7B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/discord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,2DAA2D,CAAC;AAErH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAClE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CA8E/C"}
@@ -1,6 +0,0 @@
1
- export declare const closeWindow: ({ isWindowOpenedByFn, win, closeOpenedWindow, }: {
2
- win?: Window | null;
3
- isWindowOpenedByFn: boolean;
4
- closeOpenedWindow?: (openedWindow: Window) => void;
5
- }) => void;
6
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oDAIrB;IACD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,SAUA,CAAC"}
@@ -1,19 +0,0 @@
1
- export const closeWindow = ({
2
- isWindowOpenedByFn,
3
- win,
4
- closeOpenedWindow,
5
- }: {
6
- win?: Window | null;
7
- isWindowOpenedByFn: boolean;
8
- closeOpenedWindow?: (openedWindow: Window) => void;
9
- }) => {
10
- if (isWindowOpenedByFn) {
11
- win?.close();
12
- } else {
13
- if (win && closeOpenedWindow) {
14
- closeOpenedWindow(win);
15
- } else if (win) {
16
- win.close();
17
- }
18
- }
19
- };