thirdweb 5.44.1 → 5.45.0-nightly-bbb4f1c53f982b1f9de00fb30efbf2c77f155e96-20240809000532

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 (588) hide show
  1. package/dist/cjs/adapters/ethers5.js +3 -2
  2. package/dist/cjs/adapters/ethers5.js.map +1 -1
  3. package/dist/cjs/adapters/wallet-adapter.js +3 -0
  4. package/dist/cjs/adapters/wallet-adapter.js.map +1 -1
  5. package/dist/cjs/auth/constants.js +1 -2
  6. package/dist/cjs/auth/constants.js.map +1 -1
  7. package/dist/cjs/auth/verify-hash.js +1 -1
  8. package/dist/cjs/auth/verify-hash.js.map +1 -1
  9. package/dist/cjs/chains/chain-definitions/abstract-testnet.js +20 -0
  10. package/dist/cjs/chains/chain-definitions/abstract-testnet.js.map +1 -0
  11. package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js +20 -0
  12. package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
  13. package/dist/cjs/chains/chain-definitions/mode-testnet.js +20 -0
  14. package/dist/cjs/chains/chain-definitions/mode-testnet.js.map +1 -0
  15. package/dist/cjs/chains/utils.js +7 -0
  16. package/dist/cjs/chains/utils.js.map +1 -1
  17. package/dist/cjs/exports/chains.js +3 -1
  18. package/dist/cjs/exports/chains.js.map +1 -1
  19. package/dist/cjs/exports/react.js +4 -2
  20. package/dist/cjs/exports/react.js.map +1 -1
  21. package/dist/cjs/exports/wallets/in-app.js +2 -2
  22. package/dist/cjs/exports/wallets/in-app.js.map +1 -1
  23. package/dist/cjs/exports/wallets.js +4 -1
  24. package/dist/cjs/exports/wallets.js.map +1 -1
  25. package/dist/cjs/react/core/hooks/others/useProfiles.js +36 -0
  26. package/dist/cjs/react/core/hooks/others/useProfiles.js.map +1 -0
  27. package/dist/cjs/react/core/utils/{socialIcons.js → walletIcon.js} +26 -1
  28. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -0
  29. package/dist/cjs/react/native/ui/components/TokenIcon.js +2 -2
  30. package/dist/cjs/react/native/ui/components/TokenIcon.js.map +1 -1
  31. package/dist/cjs/react/native/ui/connect/ConnectButton.js +13 -8
  32. package/dist/cjs/react/native/ui/connect/ConnectButton.js.map +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
  34. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  35. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +22 -5
  36. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +2 -2
  38. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +13 -8
  40. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  41. package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.js.map +1 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  44. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  45. package/dist/cjs/react/web/ui/ConnectWallet/icons/AddUserIcon.js +12 -0
  46. package/dist/cjs/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
  47. package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +12 -0
  48. package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
  49. package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js +6 -0
  50. package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
  51. package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js +6 -0
  52. package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
  53. package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js +6 -0
  54. package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
  55. package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js +6 -0
  56. package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
  57. package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js +6 -0
  58. package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
  59. package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js +6 -0
  60. package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
  61. package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js +6 -0
  62. package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
  63. package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js +6 -0
  64. package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
  65. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
  66. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  67. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +42 -0
  68. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
  69. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +58 -0
  70. package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
  71. package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
  72. package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
  73. package/dist/cjs/react/web/ui/PayEmbed.js +13 -8
  74. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  75. package/dist/cjs/react/web/ui/components/Spinner.js +1 -1
  76. package/dist/cjs/react/web/ui/components/Spinner.js.map +1 -1
  77. package/dist/cjs/react/web/ui/components/TokenIcon.js +2 -2
  78. package/dist/cjs/react/web/ui/components/TokenIcon.js.map +1 -1
  79. package/dist/cjs/react/web/ui/components/WalletImage.js +6 -32
  80. package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
  81. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
  82. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  83. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +1 -1
  84. package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.js.map +1 -1
  85. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
  86. package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  87. package/dist/cjs/react/web/wallets/in-app/InAppWalletFormUI.js +5 -5
  88. package/dist/cjs/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
  89. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +22 -16
  90. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  91. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +36 -49
  92. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  93. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +47 -20
  94. package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  95. package/dist/cjs/react/web/wallets/shared/SocialLogin.js +33 -13
  96. package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
  97. package/dist/cjs/react/web/wallets/shared/locale/en.js +1 -1
  98. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -1
  99. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  100. package/dist/cjs/reactive/store.js +3 -0
  101. package/dist/cjs/reactive/store.js.map +1 -1
  102. package/dist/cjs/transaction/serialize-transaction.js +20 -142
  103. package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
  104. package/dist/cjs/version.js +1 -1
  105. package/dist/cjs/version.js.map +1 -1
  106. package/dist/cjs/wallets/coinbase/coinbase-wallet.js +8 -1
  107. package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
  108. package/dist/cjs/wallets/create-wallet.js +8 -1
  109. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  110. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +14 -3
  111. package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  112. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js +67 -0
  113. package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
  114. package/dist/cjs/wallets/in-app/core/authentication/siwe.js +47 -0
  115. package/dist/cjs/wallets/in-app/core/authentication/siwe.js.map +1 -0
  116. package/dist/cjs/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
  117. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -0
  118. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
  119. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
  120. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +47 -1
  121. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  122. package/dist/cjs/wallets/in-app/core/wallet/index.js +3 -3
  123. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  124. package/dist/cjs/wallets/in-app/core/wallet/profiles.js +60 -0
  125. package/dist/cjs/wallets/in-app/core/wallet/profiles.js.map +1 -0
  126. package/dist/cjs/wallets/in-app/native/auth/index.js +3 -3
  127. package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
  128. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +47 -112
  129. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  130. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +5 -5
  131. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  132. package/dist/cjs/wallets/in-app/native/native-connector.js +76 -36
  133. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  134. package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
  135. package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
  136. package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js +49 -148
  137. package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
  138. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
  139. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  140. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +3 -3
  141. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  142. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js +2 -2
  143. package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  144. package/dist/cjs/wallets/in-app/web/lib/auth/otp.js +89 -0
  145. package/dist/cjs/wallets/in-app/web/lib/auth/otp.js.map +1 -0
  146. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +7 -7
  147. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  148. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +89 -30
  149. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  150. package/dist/cjs/wallets/manager/index.js +41 -5
  151. package/dist/cjs/wallets/manager/index.js.map +1 -1
  152. package/dist/cjs/wallets/native/create-wallet.js +8 -1
  153. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  154. package/dist/cjs/wallets/smart/lib/utils.js +4 -1
  155. package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
  156. package/dist/cjs/wallets/smart/smart-wallet.js +8 -1
  157. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  158. package/dist/esm/adapters/ethers5.js +3 -2
  159. package/dist/esm/adapters/ethers5.js.map +1 -1
  160. package/dist/esm/adapters/wallet-adapter.js +3 -0
  161. package/dist/esm/adapters/wallet-adapter.js.map +1 -1
  162. package/dist/esm/auth/constants.js +0 -1
  163. package/dist/esm/auth/constants.js.map +1 -1
  164. package/dist/esm/auth/verify-hash.js +2 -2
  165. package/dist/esm/auth/verify-hash.js.map +1 -1
  166. package/dist/esm/chains/chain-definitions/abstract-testnet.js +17 -0
  167. package/dist/esm/chains/chain-definitions/abstract-testnet.js.map +1 -0
  168. package/dist/esm/chains/chain-definitions/fraxtal-testnet.js +17 -0
  169. package/dist/esm/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
  170. package/dist/esm/chains/chain-definitions/mode-testnet.js +17 -0
  171. package/dist/esm/chains/chain-definitions/mode-testnet.js.map +1 -0
  172. package/dist/esm/chains/utils.js +6 -0
  173. package/dist/esm/chains/utils.js.map +1 -1
  174. package/dist/esm/exports/chains.js +1 -0
  175. package/dist/esm/exports/chains.js.map +1 -1
  176. package/dist/esm/exports/react.js +1 -0
  177. package/dist/esm/exports/react.js.map +1 -1
  178. package/dist/esm/exports/wallets/embedded.js +1 -1
  179. package/dist/esm/exports/wallets/embedded.js.map +1 -1
  180. package/dist/esm/exports/wallets/in-app.js +2 -2
  181. package/dist/esm/exports/wallets/in-app.js.map +1 -1
  182. package/dist/esm/exports/wallets/in-app.native.js +1 -1
  183. package/dist/esm/exports/wallets/in-app.native.js.map +1 -1
  184. package/dist/esm/exports/wallets.js +1 -0
  185. package/dist/esm/exports/wallets.js.map +1 -1
  186. package/dist/esm/react/core/hooks/others/useProfiles.js +33 -0
  187. package/dist/esm/react/core/hooks/others/useProfiles.js.map +1 -0
  188. package/dist/esm/react/core/utils/{socialIcons.js → walletIcon.js} +25 -1
  189. package/dist/esm/react/core/utils/walletIcon.js.map +1 -0
  190. package/dist/esm/react/native/ui/components/TokenIcon.js +1 -1
  191. package/dist/esm/react/native/ui/components/TokenIcon.js.map +1 -1
  192. package/dist/esm/react/native/ui/connect/ConnectButton.js +14 -9
  193. package/dist/esm/react/native/ui/connect/ConnectButton.js.map +1 -1
  194. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
  195. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  196. package/dist/esm/react/web/ui/ConnectWallet/Details.js +22 -5
  197. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  198. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +1 -1
  199. package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
  200. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +13 -8
  201. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  202. package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
  203. package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.js.map +1 -1
  204. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +1 -1
  205. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  206. package/dist/esm/react/web/ui/ConnectWallet/icons/AddUserIcon.js +8 -0
  207. package/dist/esm/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
  208. package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +8 -0
  209. package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
  210. package/dist/esm/react/web/ui/ConnectWallet/locale/de.js +6 -0
  211. package/dist/esm/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
  212. package/dist/esm/react/web/ui/ConnectWallet/locale/en.js +6 -0
  213. package/dist/esm/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
  214. package/dist/esm/react/web/ui/ConnectWallet/locale/es.js +6 -0
  215. package/dist/esm/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
  216. package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js +6 -0
  217. package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
  218. package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js +6 -0
  219. package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
  220. package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js +6 -0
  221. package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
  222. package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js +6 -0
  223. package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
  224. package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js +6 -0
  225. package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
  226. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
  227. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  228. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +39 -0
  229. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
  230. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +55 -0
  231. package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
  232. package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
  233. package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
  234. package/dist/esm/react/web/ui/PayEmbed.js +14 -9
  235. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  236. package/dist/esm/react/web/ui/components/Spinner.js +1 -1
  237. package/dist/esm/react/web/ui/components/Spinner.js.map +1 -1
  238. package/dist/esm/react/web/ui/components/TokenIcon.js +1 -1
  239. package/dist/esm/react/web/ui/components/TokenIcon.js.map +1 -1
  240. package/dist/esm/react/web/ui/components/WalletImage.js +4 -30
  241. package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
  242. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
  243. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
  244. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +2 -2
  245. package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.js.map +1 -1
  246. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
  247. package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
  248. package/dist/esm/react/web/wallets/in-app/InAppWalletFormUI.js +5 -5
  249. package/dist/esm/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
  250. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +18 -12
  251. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  252. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +36 -49
  253. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  254. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +47 -20
  255. package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
  256. package/dist/esm/react/web/wallets/shared/SocialLogin.js +33 -13
  257. package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
  258. package/dist/esm/react/web/wallets/shared/locale/en.js +1 -1
  259. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -2
  260. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  261. package/dist/esm/reactive/store.js +3 -0
  262. package/dist/esm/reactive/store.js.map +1 -1
  263. package/dist/esm/transaction/serialize-transaction.js +21 -142
  264. package/dist/esm/transaction/serialize-transaction.js.map +1 -1
  265. package/dist/esm/version.js +1 -1
  266. package/dist/esm/version.js.map +1 -1
  267. package/dist/esm/wallets/coinbase/coinbase-wallet.js +8 -1
  268. package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
  269. package/dist/esm/wallets/create-wallet.js +8 -1
  270. package/dist/esm/wallets/create-wallet.js.map +1 -1
  271. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +11 -1
  272. package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
  273. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js +63 -0
  274. package/dist/esm/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
  275. package/dist/esm/wallets/in-app/core/authentication/siwe.js +44 -0
  276. package/dist/esm/wallets/in-app/core/authentication/siwe.js.map +1 -0
  277. package/dist/esm/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
  278. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -0
  279. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
  280. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
  281. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +47 -1
  282. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  283. package/dist/esm/wallets/in-app/core/wallet/index.js +2 -2
  284. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  285. package/dist/esm/wallets/in-app/core/wallet/profiles.js +56 -0
  286. package/dist/esm/wallets/in-app/core/wallet/profiles.js.map +1 -0
  287. package/dist/esm/wallets/in-app/native/auth/index.js +2 -2
  288. package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
  289. package/dist/esm/wallets/in-app/native/auth/native-auth.js +47 -112
  290. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  291. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +1 -1
  292. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  293. package/dist/esm/wallets/in-app/native/native-connector.js +67 -27
  294. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  295. package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
  296. package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
  297. package/dist/esm/wallets/in-app/web/lib/auth/base-login.js +49 -148
  298. package/dist/esm/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
  299. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
  300. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  301. package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -2
  302. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  303. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js +3 -3
  304. package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
  305. package/dist/esm/wallets/in-app/web/lib/auth/otp.js +84 -0
  306. package/dist/esm/wallets/in-app/web/lib/auth/otp.js.map +1 -0
  307. package/dist/esm/wallets/in-app/web/lib/in-app-account.js +1 -1
  308. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
  309. package/dist/esm/wallets/in-app/web/lib/web-connector.js +88 -29
  310. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  311. package/dist/esm/wallets/manager/index.js +41 -5
  312. package/dist/esm/wallets/manager/index.js.map +1 -1
  313. package/dist/esm/wallets/native/create-wallet.js +8 -1
  314. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  315. package/dist/esm/wallets/smart/lib/utils.js +4 -1
  316. package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
  317. package/dist/esm/wallets/smart/smart-wallet.js +8 -1
  318. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  319. package/dist/types/adapters/ethers5.d.ts +1 -1
  320. package/dist/types/adapters/ethers5.d.ts.map +1 -1
  321. package/dist/types/adapters/wallet-adapter.d.ts.map +1 -1
  322. package/dist/types/auth/constants.d.ts +0 -1
  323. package/dist/types/auth/constants.d.ts.map +1 -1
  324. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  325. package/dist/types/chains/chain-definitions/abstract-testnet.d.ts +7 -0
  326. package/dist/types/chains/chain-definitions/abstract-testnet.d.ts.map +1 -0
  327. package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts +7 -0
  328. package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts.map +1 -0
  329. package/dist/types/chains/chain-definitions/mode-testnet.d.ts +7 -0
  330. package/dist/types/chains/chain-definitions/mode-testnet.d.ts.map +1 -0
  331. package/dist/types/chains/utils.d.ts +6 -0
  332. package/dist/types/chains/utils.d.ts.map +1 -1
  333. package/dist/types/exports/chains.d.ts +1 -0
  334. package/dist/types/exports/chains.d.ts.map +1 -1
  335. package/dist/types/exports/react.d.ts +1 -0
  336. package/dist/types/exports/react.d.ts.map +1 -1
  337. package/dist/types/exports/wallets/embedded.d.ts +1 -1
  338. package/dist/types/exports/wallets/embedded.d.ts.map +1 -1
  339. package/dist/types/exports/wallets/in-app.d.ts +2 -2
  340. package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
  341. package/dist/types/exports/wallets/in-app.native.d.ts +1 -1
  342. package/dist/types/exports/wallets/in-app.native.d.ts.map +1 -1
  343. package/dist/types/exports/wallets.d.ts +1 -0
  344. package/dist/types/exports/wallets.d.ts.map +1 -1
  345. package/dist/types/react/core/hooks/others/useProfiles.d.ts +23 -0
  346. package/dist/types/react/core/hooks/others/useProfiles.d.ts.map +1 -0
  347. package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
  348. package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
  349. package/dist/types/react/core/utils/storage.d.ts +2 -2
  350. package/dist/types/react/core/utils/storage.d.ts.map +1 -1
  351. package/dist/types/react/core/utils/{socialIcons.d.ts → walletIcon.d.ts} +2 -1
  352. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -0
  353. package/dist/types/react/native/ui/connect/ConnectButton.d.ts.map +1 -1
  354. package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -1
  355. package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
  356. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts +1 -1
  357. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  358. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  359. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  360. package/dist/types/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.d.ts.map +1 -1
  361. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  362. package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts +6 -0
  363. package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts.map +1 -0
  364. package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts +6 -0
  365. package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts.map +1 -0
  366. package/dist/types/react/web/ui/ConnectWallet/locale/de.d.ts.map +1 -1
  367. package/dist/types/react/web/ui/ConnectWallet/locale/en.d.ts.map +1 -1
  368. package/dist/types/react/web/ui/ConnectWallet/locale/es.d.ts.map +1 -1
  369. package/dist/types/react/web/ui/ConnectWallet/locale/fr.d.ts.map +1 -1
  370. package/dist/types/react/web/ui/ConnectWallet/locale/ja.d.ts.map +1 -1
  371. package/dist/types/react/web/ui/ConnectWallet/locale/kr.d.ts.map +1 -1
  372. package/dist/types/react/web/ui/ConnectWallet/locale/tl.d.ts.map +1 -1
  373. package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts +6 -0
  374. package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts.map +1 -1
  375. package/dist/types/react/web/ui/ConnectWallet/locale/vi.d.ts.map +1 -1
  376. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts +11 -0
  377. package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts.map +1 -0
  378. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts +13 -0
  379. package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -0
  380. package/dist/types/react/web/ui/ConnectWallet/screens/ManageWalletScreen.d.ts.map +1 -1
  381. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts +1 -1
  382. package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts.map +1 -1
  383. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  384. package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
  385. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts +1 -0
  386. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts.map +1 -1
  387. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts +1 -0
  388. package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts.map +1 -1
  389. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts +2 -1
  390. package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
  391. package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts +2 -1
  392. package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts.map +1 -1
  393. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +3 -1
  394. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  395. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts +1 -0
  396. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
  397. package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts +4 -1
  398. package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts.map +1 -1
  399. package/dist/types/react/web/wallets/shared/SocialLogin.d.ts +3 -0
  400. package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
  401. package/dist/types/reactive/store.d.ts.map +1 -1
  402. package/dist/types/transaction/serialize-transaction.d.ts +8 -8
  403. package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
  404. package/dist/types/utils/any-evm/keyless-transaction.d.ts +1 -1
  405. package/dist/types/version.d.ts +1 -1
  406. package/dist/types/version.d.ts.map +1 -1
  407. package/dist/types/wallets/coinbase/coinbase-wallet.d.ts.map +1 -1
  408. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  409. package/dist/types/wallets/ecosystem/types.d.ts +2 -8
  410. package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
  411. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +8 -3
  412. package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
  413. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts +24 -0
  414. package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts.map +1 -0
  415. package/dist/types/wallets/in-app/core/authentication/siwe.d.ts +14 -0
  416. package/dist/types/wallets/in-app/core/authentication/siwe.d.ts.map +1 -0
  417. package/dist/types/wallets/in-app/core/authentication/{type.d.ts → types.d.ts} +17 -2
  418. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -0
  419. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +4 -3
  420. package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
  421. package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts.map +1 -1
  422. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  423. package/dist/types/wallets/in-app/core/wallet/profiles.d.ts +48 -0
  424. package/dist/types/wallets/in-app/core/wallet/profiles.d.ts.map +1 -0
  425. package/dist/types/wallets/in-app/core/wallet/types.d.ts +1 -1
  426. package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
  427. package/dist/types/wallets/in-app/native/auth/index.d.ts +3 -3
  428. package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
  429. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +7 -13
  430. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  431. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +1 -1
  432. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
  433. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts +1 -1
  434. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts.map +1 -1
  435. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts +3 -3
  436. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
  437. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +1 -1
  438. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
  439. package/dist/types/wallets/in-app/native/helpers/types.d.ts +1 -1
  440. package/dist/types/wallets/in-app/native/helpers/types.d.ts.map +1 -1
  441. package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts +1 -1
  442. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +1 -1
  443. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
  444. package/dist/types/wallets/in-app/native/native-connector.d.ts +6 -4
  445. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  446. package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts +4 -12
  447. package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts.map +1 -1
  448. package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts +12 -15
  449. package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts.map +1 -1
  450. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +11 -9
  451. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
  452. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +4 -4
  453. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  454. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +1 -1
  455. package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
  456. package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts +15 -0
  457. package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts.map +1 -0
  458. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts +1 -1
  459. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
  460. package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts +1 -1
  461. package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts.map +1 -1
  462. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts +1 -1
  463. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +1 -1
  464. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +11 -4
  465. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  466. package/dist/types/wallets/in-app/web/types.d.ts +1 -1
  467. package/dist/types/wallets/in-app/web/types.d.ts.map +1 -1
  468. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  469. package/dist/types/wallets/manager/index.d.ts +1 -0
  470. package/dist/types/wallets/manager/index.d.ts.map +1 -1
  471. package/dist/types/wallets/native/create-wallet.d.ts.map +1 -1
  472. package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
  473. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  474. package/dist/types/wallets/types.d.ts +1 -1
  475. package/dist/types/wallets/types.d.ts.map +1 -1
  476. package/package.json +3 -3
  477. package/src/adapters/ethers5.ts +4 -2
  478. package/src/adapters/wallet-adapter.ts +3 -0
  479. package/src/auth/constants.ts +0 -3
  480. package/src/auth/verify-hash.ts +7 -5
  481. package/src/chains/chain-definitions/abstract-testnet.ts +17 -0
  482. package/src/chains/chain-definitions/fraxtal-testnet.ts +17 -0
  483. package/src/chains/chain-definitions/mode-testnet.ts +17 -0
  484. package/src/chains/utils.ts +7 -0
  485. package/src/exports/chains.ts +1 -0
  486. package/src/exports/react.ts +1 -0
  487. package/src/exports/wallets/embedded.ts +1 -1
  488. package/src/exports/wallets/in-app.native.ts +1 -1
  489. package/src/exports/wallets/in-app.ts +2 -2
  490. package/src/exports/wallets.ts +5 -0
  491. package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +334 -337
  492. package/src/extensions/marketplace/english-auctions/english-auctions.test.ts +231 -236
  493. package/src/extensions/marketplace/offers/offers.test.ts +1 -1
  494. package/src/extensions/prebuilts/deploy-modular-core.test.ts +1 -1
  495. package/src/react/core/hooks/others/useProfiles.ts +36 -0
  496. package/src/react/core/utils/storage.ts +1 -1
  497. package/src/react/core/utils/{socialIcons.ts → walletIcon.ts} +25 -0
  498. package/src/react/native/ui/components/TokenIcon.tsx +1 -1
  499. package/src/react/native/ui/connect/ConnectButton.tsx +14 -9
  500. package/src/react/native/ui/connect/ConnectModal.tsx +1 -1
  501. package/src/react/native/ui/connect/InAppWalletUI.tsx +1 -1
  502. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +13 -8
  503. package/src/react/web/ui/ConnectWallet/Details.tsx +45 -11
  504. package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +3 -1
  505. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +13 -8
  506. package/src/react/web/ui/ConnectWallet/Modal/screen.tsx +1 -1
  507. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +1 -1
  508. package/src/react/web/ui/ConnectWallet/icons/AddUserIcon.tsx +25 -0
  509. package/src/react/web/ui/ConnectWallet/icons/MultiUserIcon.tsx +25 -0
  510. package/src/react/web/ui/ConnectWallet/locale/de.ts +6 -0
  511. package/src/react/web/ui/ConnectWallet/locale/en.ts +6 -0
  512. package/src/react/web/ui/ConnectWallet/locale/es.ts +6 -0
  513. package/src/react/web/ui/ConnectWallet/locale/fr.ts +6 -0
  514. package/src/react/web/ui/ConnectWallet/locale/ja.ts +6 -0
  515. package/src/react/web/ui/ConnectWallet/locale/kr.ts +6 -0
  516. package/src/react/web/ui/ConnectWallet/locale/tl.ts +6 -1
  517. package/src/react/web/ui/ConnectWallet/locale/types.ts +6 -0
  518. package/src/react/web/ui/ConnectWallet/locale/vi.ts +6 -0
  519. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +5 -1
  520. package/src/react/web/ui/ConnectWallet/screens/LinkProfileScreen.tsx +88 -0
  521. package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +119 -0
  522. package/src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx +20 -4
  523. package/src/react/web/ui/ConnectWallet/screens/types.ts +3 -1
  524. package/src/react/web/ui/PayEmbed.tsx +14 -9
  525. package/src/react/web/ui/components/Spinner.tsx +1 -1
  526. package/src/react/web/ui/components/TokenIcon.tsx +1 -1
  527. package/src/react/web/ui/components/WalletImage.tsx +7 -41
  528. package/src/react/web/wallets/ecosystem/EcosystemWalletConnectUI.tsx +16 -4
  529. package/src/react/web/wallets/ecosystem/EcosystemWalletFormUI.tsx +14 -6
  530. package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +17 -5
  531. package/src/react/web/wallets/in-app/InAppWalletFormUI.tsx +13 -12
  532. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +20 -15
  533. package/src/react/web/wallets/shared/OTPLoginUI.tsx +49 -54
  534. package/src/react/web/wallets/shared/PassKeyLogin.tsx +59 -20
  535. package/src/react/web/wallets/shared/SocialLogin.tsx +46 -14
  536. package/src/react/web/wallets/shared/locale/en.ts +1 -1
  537. package/src/react/web/wallets/shared/oauthSignIn.ts +2 -2
  538. package/src/reactive/store.ts +3 -0
  539. package/src/transaction/serialize-transaction.test.ts +13 -9
  540. package/src/transaction/serialize-transaction.ts +31 -258
  541. package/src/version.ts +1 -1
  542. package/src/wallets/coinbase/coinbase-wallet.ts +9 -1
  543. package/src/wallets/create-wallet.ts +9 -1
  544. package/src/wallets/ecosystem/types.ts +2 -10
  545. package/src/wallets/in-app/core/authentication/getLoginPath.ts +22 -3
  546. package/src/wallets/in-app/core/authentication/linkAccount.ts +96 -0
  547. package/src/wallets/in-app/core/authentication/siwe.ts +63 -0
  548. package/src/wallets/in-app/core/authentication/{type.ts → types.ts} +18 -1
  549. package/src/wallets/in-app/core/interfaces/connector.ts +14 -5
  550. package/src/wallets/in-app/core/wallet/ecosystem-core.ts +10 -1
  551. package/src/wallets/in-app/core/wallet/in-app-core.ts +68 -3
  552. package/src/wallets/in-app/core/wallet/index.ts +2 -2
  553. package/src/wallets/in-app/core/wallet/profiles.ts +74 -0
  554. package/src/wallets/in-app/core/wallet/types.ts +1 -1
  555. package/src/wallets/in-app/native/auth/index.ts +2 -2
  556. package/src/wallets/in-app/native/auth/native-auth.ts +70 -183
  557. package/src/wallets/in-app/native/helpers/api/fetchers.ts +1 -1
  558. package/src/wallets/in-app/native/helpers/auth/logout.ts +1 -1
  559. package/src/wallets/in-app/native/helpers/auth/middleware.ts +1 -1
  560. package/src/wallets/in-app/native/helpers/storage/local.ts +1 -1
  561. package/src/wallets/in-app/native/helpers/types.ts +1 -1
  562. package/src/wallets/in-app/native/helpers/wallet/creation.ts +1 -1
  563. package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +1 -1
  564. package/src/wallets/in-app/native/native-connector.ts +96 -35
  565. package/src/wallets/in-app/web/lib/auth/abstract-login.ts +4 -14
  566. package/src/wallets/in-app/web/lib/auth/base-login.ts +75 -177
  567. package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +37 -18
  568. package/src/wallets/in-app/web/lib/auth/index.ts +2 -2
  569. package/src/wallets/in-app/web/lib/auth/oauth.ts +4 -4
  570. package/src/wallets/in-app/web/lib/auth/otp.ts +114 -0
  571. package/src/wallets/in-app/web/lib/auth/passkeys.ts +1 -1
  572. package/src/wallets/in-app/web/lib/get-url-token.ts +1 -1
  573. package/src/wallets/in-app/web/lib/in-app-account.ts +1 -1
  574. package/src/wallets/in-app/web/lib/web-connector.ts +93 -37
  575. package/src/wallets/in-app/web/types.ts +1 -1
  576. package/src/wallets/interfaces/wallet.ts +1 -0
  577. package/src/wallets/manager/index.ts +51 -5
  578. package/src/wallets/native/create-wallet.ts +9 -1
  579. package/src/wallets/smart/lib/utils.ts +6 -1
  580. package/src/wallets/smart/smart-wallet-integration.test.ts +3 -3
  581. package/src/wallets/smart/smart-wallet.ts +9 -1
  582. package/src/wallets/types.ts +6 -1
  583. package/dist/cjs/react/core/utils/socialIcons.js.map +0 -1
  584. package/dist/cjs/wallets/in-app/core/authentication/type.js.map +0 -1
  585. package/dist/esm/react/core/utils/socialIcons.js.map +0 -1
  586. package/dist/esm/wallets/in-app/core/authentication/type.js.map +0 -1
  587. package/dist/types/react/core/utils/socialIcons.d.ts.map +0 -1
  588. package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +0 -1
@@ -6,7 +6,7 @@ import {
6
6
  type GetAuthenticatedUserParams,
7
7
  type PreAuthArgsType,
8
8
  UserWalletStatus,
9
- } from "../../../core/authentication/type.js";
9
+ } from "../../../core/authentication/types.js";
10
10
  import { getOrCreateInAppWalletConnector } from "../../../core/wallet/in-app-core.js";
11
11
  import type { Ecosystem } from "../../types.js";
12
12
 
@@ -158,5 +158,5 @@ export async function authenticate(
158
158
  const connector = await getInAppWalletConnector(args.client, args.ecosystem);
159
159
  if (args.redirect && connector.authenticateWithRedirect)
160
160
  return connector.authenticateWithRedirect(args.strategy);
161
- return connector.authenticate(args);
161
+ return connector.connect(args);
162
162
  }
@@ -1,8 +1,8 @@
1
1
  import type { ThirdwebClient } from "../../../../../client/client.js";
2
2
  import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
3
- import type { AuthStoredTokenWithCookieReturnType } from "../../../../../wallets/in-app/core/authentication/type.js";
4
3
  import type { SocialAuthOption } from "../../../../../wallets/types.js";
5
- import { getSocialAuthLoginPath } from "../../../core/authentication/getLoginPath.js";
4
+ import { getLoginUrl } from "../../../core/authentication/getLoginPath.js";
5
+ import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/types.js";
6
6
  import type { Ecosystem } from "../../types.js";
7
7
  import { DEFAULT_POP_UP_SIZE } from "./constants.js";
8
8
 
@@ -31,7 +31,7 @@ export const loginWithOauthRedirect = (options: {
31
31
  client: ThirdwebClient;
32
32
  ecosystem?: Ecosystem;
33
33
  }): void => {
34
- const loginUrl = getSocialAuthLoginPath({
34
+ const loginUrl = getLoginUrl({
35
35
  ...options,
36
36
  mode: "redirect",
37
37
  });
@@ -49,7 +49,7 @@ export const loginWithOauth = async (options: {
49
49
  let isWindowOpenedByFn = false;
50
50
  if (!win) {
51
51
  win = window.open(
52
- getSocialAuthLoginPath({ ...options, mode: "popup" }),
52
+ getLoginUrl({ ...options, mode: "popup" }),
53
53
  `Login to ${options.authOption}`,
54
54
  DEFAULT_POP_UP_SIZE,
55
55
  );
@@ -0,0 +1,114 @@
1
+ import type { ThirdwebClient } from "../../../../../client/client.js";
2
+ import {
3
+ getLoginCallbackUrl,
4
+ getLoginUrl,
5
+ } from "../../../core/authentication/getLoginPath.js";
6
+ import type {
7
+ AuthStoredTokenWithCookieReturnType,
8
+ MultiStepAuthArgsType,
9
+ PreAuthArgsType,
10
+ } from "../../../core/authentication/types.js";
11
+ import type { Ecosystem } from "../../types.js";
12
+
13
+ /**
14
+ * @internal
15
+ */
16
+ export const sendOtp = async (args: PreAuthArgsType): Promise<void> => {
17
+ const { client, ecosystem } = args;
18
+ const url = getLoginUrl({ client, ecosystem, authOption: args.strategy });
19
+
20
+ const headers: Record<string, string> = {
21
+ "Content-Type": "application/json",
22
+ "x-client-id": client.clientId,
23
+ };
24
+
25
+ if (ecosystem?.id) {
26
+ headers["x-ecosystem-id"] = ecosystem.id;
27
+ }
28
+
29
+ if (ecosystem?.partnerId) {
30
+ headers["x-ecosystem-partner-id"] = ecosystem.partnerId;
31
+ }
32
+
33
+ const body = (() => {
34
+ switch (args.strategy) {
35
+ case "email":
36
+ return {
37
+ email: args.email,
38
+ };
39
+ case "phone":
40
+ return {
41
+ phone: args.phoneNumber,
42
+ };
43
+ }
44
+ })();
45
+
46
+ const response = await fetch(url, {
47
+ method: "POST",
48
+ headers,
49
+ body: JSON.stringify(body),
50
+ });
51
+
52
+ if (!response.ok) {
53
+ throw new Error("Failed to send verification code");
54
+ }
55
+
56
+ return await response.json();
57
+ };
58
+
59
+ /**
60
+ * @internal
61
+ */
62
+ export const verifyOtp = async (
63
+ args: MultiStepAuthArgsType & {
64
+ client: ThirdwebClient;
65
+ ecosystem?: Ecosystem;
66
+ },
67
+ ): Promise<AuthStoredTokenWithCookieReturnType> => {
68
+ const { client, ecosystem } = args;
69
+ const url = getLoginCallbackUrl({
70
+ authOption: args.strategy,
71
+ client: args.client,
72
+ ecosystem: args.ecosystem,
73
+ });
74
+
75
+ const headers: Record<string, string> = {
76
+ "Content-Type": "application/json",
77
+ "x-client-id": client.clientId,
78
+ };
79
+
80
+ if (ecosystem?.id) {
81
+ headers["x-ecosystem-id"] = ecosystem.id;
82
+ }
83
+
84
+ if (ecosystem?.partnerId) {
85
+ headers["x-ecosystem-partner-id"] = ecosystem.partnerId;
86
+ }
87
+
88
+ const body = (() => {
89
+ switch (args.strategy) {
90
+ case "email":
91
+ return {
92
+ email: args.email,
93
+ code: args.verificationCode,
94
+ };
95
+ case "phone":
96
+ return {
97
+ phone: args.phoneNumber,
98
+ code: args.verificationCode,
99
+ };
100
+ }
101
+ })();
102
+
103
+ const response = await fetch(url, {
104
+ method: "POST",
105
+ headers,
106
+ body: JSON.stringify(body),
107
+ });
108
+
109
+ if (!response.ok) {
110
+ throw new Error("Failed to verify verification code");
111
+ }
112
+
113
+ return await response.json();
114
+ };
@@ -4,7 +4,7 @@ import type { ThirdwebClient } from "../../../../../client/client.js";
4
4
  import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
5
5
  import { getClientFetch } from "../../../../../utils/fetch.js";
6
6
  import type { EcosystemWalletId } from "../../../../wallet-types.js";
7
- import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/type.js";
7
+ import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/types.js";
8
8
  import type { Ecosystem } from "../../types.js";
9
9
  import { LocalStorage } from "../../utils/Storage/LocalStorage.js";
10
10
 
@@ -1,6 +1,6 @@
1
1
  import type { AuthOption } from "../../../../wallets/types.js";
2
2
  import type { WalletId } from "../../../wallet-types.js";
3
- import type { AuthStoredTokenWithCookieReturnType } from "../../core/authentication/type.js";
3
+ import type { AuthStoredTokenWithCookieReturnType } from "../../core/authentication/types.js";
4
4
 
5
5
  /**
6
6
  * Checks for an auth token and associated metadata in the current URL
@@ -20,7 +20,7 @@ import {
20
20
  type SetUpWalletRpcReturnType,
21
21
  UserWalletStatus,
22
22
  type WalletAddressObjectType,
23
- } from "../../core/authentication/type.js";
23
+ } from "../../core/authentication/types.js";
24
24
  import type {
25
25
  ClientIdWithQuerierType,
26
26
  Ecosystem,
@@ -2,6 +2,7 @@ import type { ThirdwebClient } from "../../../../client/client.js";
2
2
  import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
3
3
  import type { SocialAuthOption } from "../../../../wallets/types.js";
4
4
  import type { Account } from "../../../interfaces/wallet.js";
5
+ import { siweAuthenticate } from "../../core/authentication/siwe.js";
5
6
  import {
6
7
  type AuthLoginReturnType,
7
8
  type AuthStoredTokenWithCookieReturnType,
@@ -9,15 +10,15 @@ import {
9
10
  type LogoutReturnType,
10
11
  type MultiStepAuthArgsType,
11
12
  type MultiStepAuthProviderType,
12
- type SendEmailOtpReturnType,
13
13
  type SingleStepAuthArgsType,
14
14
  UserWalletStatus,
15
- } from "../../core/authentication/type.js";
15
+ } from "../../core/authentication/types.js";
16
16
  import type { InAppConnector } from "../../core/interfaces/connector.js";
17
17
  import type { InAppWalletConstructorType } from "../types.js";
18
18
  import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
19
19
  import { Auth, type AuthQuerierTypes } from "./auth/iframe-auth.js";
20
20
  import { loginWithOauth, loginWithOauthRedirect } from "./auth/oauth.js";
21
+ import { sendOtp, verifyOtp } from "./auth/otp.js";
21
22
  import { loginWithPasskey, registerPasskey } from "./auth/passkeys.js";
22
23
  import { IFrameWallet } from "./in-app-account.js";
23
24
 
@@ -104,7 +105,7 @@ export class InAppWebConnector implements InAppConnector {
104
105
  }
105
106
 
106
107
  /**
107
- * Gets the usr if they are logged in
108
+ * Gets the user if they're logged in
108
109
  * @example
109
110
  * ```js
110
111
  * const user = await thirdwebInAppWallet.getUser();
@@ -134,23 +135,12 @@ export class InAppWebConnector implements InAppConnector {
134
135
  return this.wallet.getAccount();
135
136
  }
136
137
 
137
- async preAuthenticate(
138
- args: MultiStepAuthProviderType,
139
- ): Promise<SendEmailOtpReturnType> {
140
- const strategy = args.strategy;
141
- switch (strategy) {
142
- case "email": {
143
- return this.auth.sendEmailLoginOtp({ email: args.email });
144
- }
145
- case "phone": {
146
- return this.auth.sendSmsLoginOtp({ phoneNumber: args.phoneNumber });
147
- }
148
- default:
149
- assertUnreachable(
150
- strategy,
151
- `Provider: ${strategy} doesn't require pre-authentication`,
152
- );
153
- }
138
+ async preAuthenticate(args: MultiStepAuthProviderType): Promise<void> {
139
+ return sendOtp({
140
+ ...args,
141
+ client: this.wallet.client,
142
+ ecosystem: this.wallet.ecosystem,
143
+ });
154
144
  }
155
145
 
156
146
  authenticateWithRedirect(strategy: SocialAuthOption): void {
@@ -165,23 +155,92 @@ export class InAppWebConnector implements InAppConnector {
165
155
  return this.auth.loginWithAuthToken(authResult);
166
156
  }
167
157
 
158
+ /**
159
+ * Authenticates the user and returns the auth token, but does not instantiate their wallet
160
+ */
168
161
  async authenticate(
169
162
  args: MultiStepAuthArgsType | SingleStepAuthArgsType,
170
- ): Promise<AuthLoginReturnType> {
163
+ ): Promise<AuthStoredTokenWithCookieReturnType> {
171
164
  const strategy = args.strategy;
172
165
  switch (strategy) {
173
- case "email": {
174
- return await this.auth.verifyEmailLoginOtp({
166
+ case "email":
167
+ return verifyOtp({
168
+ ...args,
169
+ client: this.wallet.client,
170
+ ecosystem: this.wallet.ecosystem,
171
+ });
172
+ case "phone":
173
+ return verifyOtp({
174
+ ...args,
175
+ client: this.wallet.client,
176
+ ecosystem: this.wallet.ecosystem,
177
+ });
178
+ case "jwt":
179
+ return this.auth.authenticateWithCustomJwt({
180
+ jwt: args.jwt,
181
+ encryptionKey: args.encryptionKey,
182
+ });
183
+ case "passkey":
184
+ if (args.type === "sign-up") {
185
+ return registerPasskey({
186
+ client: this.wallet.client,
187
+ ecosystem: this.wallet.ecosystem,
188
+ authenticatorType: args.authenticatorType,
189
+ username: args.passkeyName,
190
+ });
191
+ }
192
+ return loginWithPasskey({
193
+ client: this.wallet.client,
194
+ ecosystem: this.wallet.ecosystem,
195
+ authenticatorType: args.authenticatorType,
196
+ });
197
+ case "auth_endpoint": {
198
+ return this.auth.authenticateWithCustomAuthEndpoint({
199
+ payload: args.payload,
200
+ encryptionKey: args.encryptionKey,
201
+ });
202
+ }
203
+ case "iframe_email_verification": {
204
+ return this.auth.authenticateWithIframe({
175
205
  email: args.email,
176
- otp: args.verificationCode,
177
206
  });
178
207
  }
179
- case "phone": {
180
- return await this.auth.verifySmsLoginOtp({
181
- otp: args.verificationCode,
182
- phoneNumber: args.phoneNumber,
208
+ case "iframe": {
209
+ return this.auth.authenticateWithModal();
210
+ }
211
+ case "apple":
212
+ case "facebook":
213
+ case "google":
214
+ case "telegram":
215
+ case "farcaster":
216
+ case "discord": {
217
+ return loginWithOauth({
218
+ authOption: strategy,
219
+ client: this.wallet.client,
220
+ ecosystem: this.wallet.ecosystem,
221
+ closeOpenedWindow: args.closeOpenedWindow,
222
+ openedWindow: args.openedWindow,
183
223
  });
184
224
  }
225
+ case "siwe": {
226
+ return siweAuthenticate({
227
+ client: this.wallet.client,
228
+ ecosystem: this.wallet.ecosystem,
229
+ walletId: args.walletId,
230
+ chainId: args.chainId,
231
+ });
232
+ }
233
+ }
234
+ }
235
+
236
+ /**
237
+ * Authenticates the user then instantiates their wallet using the resulting auth token
238
+ */
239
+ async connect(
240
+ args: MultiStepAuthArgsType | SingleStepAuthArgsType,
241
+ ): Promise<AuthLoginReturnType> {
242
+ const strategy = args.strategy;
243
+ switch (strategy) {
185
244
  case "jwt": {
186
245
  return this.auth.loginWithCustomJwt({
187
246
  jwt: args.jwt,
@@ -195,7 +254,7 @@ export class InAppWebConnector implements InAppConnector {
195
254
  });
196
255
  }
197
256
  case "iframe_email_verification": {
198
- return this.auth.loginWithEmailOtp({
257
+ return this.auth.loginWithIframe({
199
258
  email: args.email,
200
259
  });
201
260
  }
@@ -219,20 +278,17 @@ export class InAppWebConnector implements InAppConnector {
219
278
  });
220
279
  return this.loginWithAuthToken(authToken);
221
280
  }
281
+ case "phone":
282
+ case "email":
283
+ case "siwe":
222
284
  case "apple":
223
285
  case "facebook":
224
286
  case "google":
225
287
  case "farcaster":
226
288
  case "telegram":
227
289
  case "discord": {
228
- const authToken = await loginWithOauth({
229
- authOption: strategy,
230
- client: this.wallet.client,
231
- ecosystem: this.wallet.ecosystem,
232
- closeOpenedWindow: args.closeOpenedWindow,
233
- openedWindow: args.openedWindow,
234
- });
235
- return this.loginWithAuthToken(authToken);
290
+ const authToken = await this.authenticate(args);
291
+ return this.auth.loginWithAuthToken(authToken);
236
292
  }
237
293
 
238
294
  default:
@@ -3,7 +3,7 @@
3
3
 
4
4
  import type { ThirdwebClient } from "../../../client/client.js";
5
5
  import type { EcosystemWalletId } from "../../wallet-types.js";
6
- import type { AuthAndWalletRpcReturnType } from "../core/authentication/type.js";
6
+ import type { AuthAndWalletRpcReturnType } from "../core/authentication/types.js";
7
7
  import type { InAppWalletIframeCommunicator } from "./utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
8
8
 
9
9
  export type Ecosystem = {
@@ -74,6 +74,7 @@ export type Wallet<TWalletId extends WalletId = WalletId> = {
74
74
  * ```
75
75
  */
76
76
  getAccount(): Account | undefined;
77
+
77
78
  /**
78
79
  * Re-connect the wallet automatically without prompting the user for connection.
79
80
  *
@@ -1,4 +1,5 @@
1
1
  import type { Chain } from "../../chains/types.js";
2
+ import { cacheChains } from "../../chains/utils.js";
2
3
  import type { ThirdwebClient } from "../../client/client.js";
3
4
  import { hasSmartAccount } from "../../react/core/utils/isSmartWallet.js";
4
5
  import { computedStore } from "../../reactive/computedStore.js";
@@ -45,6 +46,30 @@ export function createConnectionManager(storage: AsyncStorage) {
45
46
  const activeWalletConnectionStatusStore =
46
47
  createStore<ConnectionStatus>("disconnected");
47
48
 
49
+ const definedChainsStore = createStore<Map<number, Chain>>(new Map());
50
+
51
+ // update global cachedChains when defined Chains store updates
52
+ effect(() => {
53
+ cacheChains([...definedChainsStore.getValue().values()]);
54
+ }, [definedChainsStore]);
55
+
56
+ // change the active chain object to use the defined chain object
57
+ effect(() => {
58
+ const chainVal = activeWalletChainStore.getValue();
59
+ if (!chainVal) {
60
+ return;
61
+ }
62
+
63
+ const definedChain = definedChainsStore.getValue().get(chainVal.id);
64
+
65
+ if (!definedChain || definedChain === chainVal) {
66
+ return;
67
+ }
68
+
69
+ // update active chain store
70
+ activeWalletChainStore.setValue(definedChain);
71
+ }, [definedChainsStore, activeWalletChainStore]);
72
+
48
73
  // other connected accounts
49
74
  const walletIdToConnectedWalletMap =
50
75
  createStore<WalletIdToConnectedWalletMap>(new Map());
@@ -241,21 +266,42 @@ export function createConnectionManager(storage: AsyncStorage) {
241
266
  activeWalletChainStore.setValue(wallet.getChain());
242
267
  };
243
268
 
269
+ function defineChains(chains: Chain[]) {
270
+ const currentMapVal = definedChainsStore.getValue();
271
+
272
+ // if all chains to be defined are already defined, no need to update the definedChains map
273
+ const allChainsSame = chains.every((c) => {
274
+ const definedChain = currentMapVal.get(c.id);
275
+ // basically a deep equal check
276
+ return JSON.stringify(definedChain) === JSON.stringify(c);
277
+ });
278
+
279
+ if (allChainsSame) {
280
+ return;
281
+ }
282
+
283
+ const newMapVal = new Map(currentMapVal);
284
+ for (const c of chains) {
285
+ newMapVal.set(c.id, c);
286
+ }
287
+ definedChainsStore.setValue(newMapVal);
288
+ }
289
+
244
290
  return {
245
- // account
246
- activeWalletStore: activeWalletStore,
247
- activeAccountStore: activeAccountStore,
291
+ activeWalletStore,
292
+ activeAccountStore,
248
293
  connectedWallets,
249
294
  addConnectedWallet,
250
295
  disconnectWallet,
251
296
  setActiveWallet,
252
297
  connect,
253
298
  handleConnection,
254
- activeWalletChainStore: activeWalletChainStore,
299
+ activeWalletChainStore,
255
300
  switchActiveWalletChain,
256
- activeWalletConnectionStatusStore: activeWalletConnectionStatusStore,
301
+ activeWalletConnectionStatusStore,
257
302
  isAutoConnecting,
258
303
  removeConnectedWallet,
304
+ defineChains,
259
305
  };
260
306
  }
261
307
 
@@ -3,6 +3,7 @@
3
3
  import { Linking } from "react-native";
4
4
  import { trackConnect } from "../../analytics/track.js";
5
5
  import type { Chain } from "../../chains/types.js";
6
+ import { getCachedChainIfExists } from "../../chains/utils.js";
6
7
  import { nativeLocalStorage } from "../../utils/storage/nativeStorage.js";
7
8
  import type { WCSupportedWalletIds } from "../__generated__/wallet-ids.js";
8
9
  import { coinbaseWalletSDK } from "../coinbase/coinbase-wallet.js";
@@ -121,7 +122,14 @@ export function createWallet<const ID extends WalletId>(
121
122
  id,
122
123
  subscribe: emitter.subscribe,
123
124
  getConfig: () => args[1],
124
- getChain: () => chain,
125
+ getChain() {
126
+ if (!chain) {
127
+ return undefined;
128
+ }
129
+
130
+ chain = getCachedChainIfExists(chain.id) || chain;
131
+ return chain;
132
+ },
125
133
  getAccount: () => account,
126
134
  autoConnect: async (
127
135
  options: WalletAutoConnectionOption<WCSupportedWalletIds>,
@@ -43,5 +43,10 @@ export function hexlifyUserOp(userOp: UserOperation): UserOperationHexed {
43
43
  }
44
44
 
45
45
  export function isNativeAAChain(chain: Chain) {
46
- return chain.id === 324 || chain.id === 300 || chain.id === 302;
46
+ return (
47
+ chain.id === 324 ||
48
+ chain.id === 300 ||
49
+ chain.id === 302 ||
50
+ chain.id === 11124
51
+ );
47
52
  }
@@ -39,7 +39,7 @@ const contract = getContract({
39
39
  });
40
40
  const factoryAddress = "0x564cf6453a1b0FF8DB603E92EA4BbD410dea45F3"; // pre 712
41
41
 
42
- describe.runIf(process.env.TW_SECRET_KEY)(
42
+ describe.runIf(process.env.TW_SECRET_KEY).sequential(
43
43
  "SmartWallet core tests",
44
44
  {
45
45
  retry: 0,
@@ -196,8 +196,8 @@ describe.runIf(process.env.TW_SECRET_KEY)(
196
196
  events: [adminUpdatedEvent()],
197
197
  logs: receipt.logs,
198
198
  });
199
- expect(logs[0]?.args.signer).toBe(newAdmin.address);
200
- expect(logs[0]?.args.isAdmin).toBe(true);
199
+ expect(logs.some((l) => l.args.signer === newAdmin.address)).toBe(true);
200
+ expect(logs.some((l) => l.args.isAdmin)).toBe(true);
201
201
  });
202
202
 
203
203
  it("can use a different factory without replay protectin", async () => {
@@ -1,5 +1,6 @@
1
1
  import { trackConnect } from "../../analytics/track.js";
2
2
  import type { Chain } from "../../chains/types.js";
3
+ import { getCachedChainIfExists } from "../../chains/utils.js";
3
4
  import { getContract } from "../../contract/contract.js";
4
5
  import { isContractDeployed } from "../../utils/bytecode/is-contract-deployed.js";
5
6
  import type { Account, Wallet } from "../interfaces/wallet.js";
@@ -107,7 +108,14 @@ export function smartWallet(
107
108
  const _smartWallet: Wallet<"smart"> = {
108
109
  id: "smart",
109
110
  subscribe: emitter.subscribe,
110
- getChain: () => chain,
111
+ getChain() {
112
+ if (!chain) {
113
+ return undefined;
114
+ }
115
+
116
+ chain = getCachedChainIfExists(chain.id) || chain;
117
+ return chain;
118
+ },
111
119
  getConfig: () => createOptions,
112
120
  getAccount: () => account,
113
121
  autoConnect: async (options) => {
@@ -29,7 +29,12 @@ export const socialAuthOptions = [
29
29
  ] as const;
30
30
  export type SocialAuthOption = (typeof socialAuthOptions)[number];
31
31
 
32
- export type AuthOption = "email" | "phone" | "passkey" | SocialAuthOption;
32
+ export type AuthOption =
33
+ | "email"
34
+ | "phone"
35
+ | "passkey"
36
+ | "siwe"
37
+ | SocialAuthOption;
33
38
 
34
39
  export type DisconnectFn = () => Promise<void>;
35
40
  export type SwitchChainFn = (chain: Chain) => Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"socialIcons.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/socialIcons.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AACjC,QAAA,aAAa,GACxB,ojDAAojD,CAAC;AAC1iD,QAAA,eAAe,GAC1B,g9BAAg9B,CAAC;AACt8B,QAAA,cAAc,GACzB,w1BAAw1B,CAAC;AAC90B,QAAA,aAAa,GACxB,oyDAAoyD,CAAC;AAC1xD,QAAA,YAAY,GACvB,w5BAAw5B,CAAC;AAC94B,QAAA,eAAe,GAC1B,wtBAAwtB,CAAC;AAC9sB,QAAA,gBAAgB,GAC3B,4fAA4f,CAAC;AAClf,QAAA,aAAa,GACxB,oqCAAoqC,CAAC;AAC1pC,QAAA,aAAa,GACxB,guEAAguE,CAAC;AACttE,QAAA,cAAc,GACzB,w1CAAw1C,CAAC;AAC90C,QAAA,gBAAgB,GAC3B,45CAA45C,CAAC;AACl5C,QAAA,eAAe,GAC1B,4sFAA4sF,CAAC;AAClsF,QAAA,gBAAgB,GAC3B,4hBAA4hB,CAAC;AAElhB,QAAA,SAAS,GACpB,o2BAAo2B,CAAC;AAE11B,QAAA,SAAS,GACpB,w7DAAw7D,CAAC;AAE96D,QAAA,iBAAiB,GAC5B,4mGAA4mG,CAAC;AAElmG,QAAA,eAAe,GAC1B,oiGAAoiG,CAAC;AAE1hG,QAAA,gBAAgB,GAC3B,42EAA42E,CAAC;AAEl2E,QAAA,iBAAiB,GAC5B,4mDAA4mD,CAAC;AAElmD,QAAA,WAAW,GACtB,ovFAAovF,CAAC;AAE1uF,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,qBAAa;IACrB,KAAK,EAAE,oBAAY;IACnB,QAAQ,EAAE,uBAAe;IACzB,OAAO,EAAE,sBAAc;IACvB,SAAS,EAAE,wBAAgB;IAC3B,QAAQ,EAAE,uBAAe;CAC1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/type.ts"],"names":[],"mappings":";;;AA+CA,gEAAgE;AAChE,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,wDAA6B,CAAA;IAC7B,wDAA6B,CAAA;AAC/B,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAED,gEAAgE;AAChE,IAAY,YAYX;AAZD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,sCAAsB,CAAA;IACtB,wCAAwB,CAAA;IACxB,2DAA2C,CAAA;IAC3C,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;AACvB,CAAC,EAZW,YAAY,4BAAZ,YAAY,QAYvB;AAiED,sBAAsB;AACtB,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,sFAAkE,CAAA;IAClE,kEAA8C,CAAA;IAC9C,kFAA8D,CAAA;AAChE,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"socialIcons.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/socialIcons.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,CAAC,MAAM,aAAa,GACxB,ojDAAojD,CAAC;AACvjD,MAAM,CAAC,MAAM,eAAe,GAC1B,g9BAAg9B,CAAC;AACn9B,MAAM,CAAC,MAAM,cAAc,GACzB,w1BAAw1B,CAAC;AAC31B,MAAM,CAAC,MAAM,aAAa,GACxB,oyDAAoyD,CAAC;AACvyD,MAAM,CAAC,MAAM,YAAY,GACvB,w5BAAw5B,CAAC;AAC35B,MAAM,CAAC,MAAM,eAAe,GAC1B,wtBAAwtB,CAAC;AAC3tB,MAAM,CAAC,MAAM,gBAAgB,GAC3B,4fAA4f,CAAC;AAC/f,MAAM,CAAC,MAAM,aAAa,GACxB,oqCAAoqC,CAAC;AACvqC,MAAM,CAAC,MAAM,aAAa,GACxB,guEAAguE,CAAC;AACnuE,MAAM,CAAC,MAAM,cAAc,GACzB,w1CAAw1C,CAAC;AAC31C,MAAM,CAAC,MAAM,gBAAgB,GAC3B,45CAA45C,CAAC;AAC/5C,MAAM,CAAC,MAAM,eAAe,GAC1B,4sFAA4sF,CAAC;AAC/sF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,4hBAA4hB,CAAC;AAE/hB,MAAM,CAAC,MAAM,SAAS,GACpB,o2BAAo2B,CAAC;AAEv2B,MAAM,CAAC,MAAM,SAAS,GACpB,w7DAAw7D,CAAC;AAE37D,MAAM,CAAC,MAAM,iBAAiB,GAC5B,4mGAA4mG,CAAC;AAE/mG,MAAM,CAAC,MAAM,eAAe,GAC1B,oiGAAoiG,CAAC;AAEviG,MAAM,CAAC,MAAM,gBAAgB,GAC3B,42EAA42E,CAAC;AAE/2E,MAAM,CAAC,MAAM,iBAAiB,GAC5B,4mDAA4mD,CAAC;AAE/mD,MAAM,CAAC,MAAM,WAAW,GACtB,ovFAAovF,CAAC;AAEvvF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,eAAe;CAC1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/type.ts"],"names":[],"mappings":"AA+CA,gEAAgE;AAChE,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,wDAA6B,CAAA;IAC7B,wDAA6B,CAAA;AAC/B,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAED,gEAAgE;AAChE,MAAM,CAAN,IAAY,YAYX;AAZD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,sCAAsB,CAAA;IACtB,wCAAwB,CAAA;IACxB,2DAA2C,CAAA;IAC3C,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;AACvB,CAAC,EAZW,YAAY,KAAZ,YAAY,QAYvB;AAiED,sBAAsB;AACtB,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,sFAAkE,CAAA;IAClE,kEAA8C,CAAA;IAC9C,kFAA8D,CAAA;AAChE,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"socialIcons.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/utils/socialIcons.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,ujDAC4hD,CAAC;AACvjD,eAAO,MAAM,eAAe,m9BACs7B,CAAC;AACn9B,eAAO,MAAM,cAAc,21BAC+zB,CAAC;AAC31B,eAAO,MAAM,aAAa,uyDAC4wD,CAAC;AACvyD,eAAO,MAAM,YAAY,25BACi4B,CAAC;AAC35B,eAAO,MAAM,eAAe,2tBAC8rB,CAAC;AAC3tB,eAAO,MAAM,gBAAgB,+fACie,CAAC;AAC/f,eAAO,MAAM,aAAa,uqCAC4oC,CAAC;AACvqC,eAAO,MAAM,aAAa,muEACwsE,CAAC;AACnuE,eAAO,MAAM,cAAc,21CAC+zC,CAAC;AAC31C,eAAO,MAAM,gBAAgB,+5CACi4C,CAAC;AAC/5C,eAAO,MAAM,eAAe,+sFACkrF,CAAC;AAC/sF,eAAO,MAAM,gBAAgB,+hBACigB,CAAC;AAE/hB,eAAO,MAAM,SAAS,u2BACg1B,CAAC;AAEv2B,eAAO,MAAM,SAAS,27DACo6D,CAAC;AAE37D,eAAO,MAAM,iBAAiB,+mGACglG,CAAC;AAE/mG,eAAO,MAAM,eAAe,uiGAC0gG,CAAC;AAEviG,eAAO,MAAM,gBAAgB,+2EACi1E,CAAC;AAE/2E,eAAO,MAAM,iBAAiB,+mDACglD,CAAC;AAE/mD,eAAO,MAAM,WAAW,uvFAC8tF,CAAC;AAEvvF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/authentication/type.ts"],"names":[],"mappings":"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"}