@web3auth/modal 10.16.0 → 11.0.0-beta.1

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 (359) hide show
  1. package/dist/lib.cjs/node_modules/style-inject/dist/style-inject.es.js +1 -1
  2. package/dist/lib.cjs/packages/modal/src/account-linking/index.js +12 -0
  3. package/dist/lib.cjs/packages/modal/src/account-linking/react.js +22 -0
  4. package/dist/lib.cjs/packages/modal/src/account-linking/vue.js +22 -0
  5. package/dist/lib.cjs/packages/modal/src/config.js +1 -1
  6. package/dist/lib.cjs/packages/modal/src/modalManager.js +473 -17
  7. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +4 -2
  8. package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +3 -56
  9. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +15 -152
  10. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  11. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +30 -43
  12. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +8 -4
  13. package/dist/lib.cjs/packages/modal/src/react/index.js +61 -28
  14. package/dist/lib.cjs/packages/modal/src/react/solana/index.js +21 -8
  15. package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +34 -17
  16. package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +15 -18
  17. package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.js +4 -2
  18. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
  19. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +11 -12
  20. package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +7 -7
  21. package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +6 -6
  22. package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +132 -44
  23. package/dist/lib.cjs/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
  24. package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +20 -19
  25. package/dist/lib.cjs/packages/modal/src/ui/components/Otp/Otp.js +10 -10
  26. package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
  27. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +22 -24
  28. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +6 -0
  29. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +30 -0
  30. package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +12 -12
  31. package/dist/lib.cjs/packages/modal/src/ui/constants.js +5 -2
  32. package/dist/lib.cjs/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +109 -0
  33. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +77 -29
  34. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +20 -11
  35. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +10 -10
  36. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
  37. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +41 -33
  38. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +13 -11
  39. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +13 -7
  40. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Embed/Embed.js +12 -11
  41. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/Login.js +95 -80
  42. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +12 -12
  43. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +14 -14
  44. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/Root.js +250 -0
  45. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +185 -0
  46. package/dist/lib.cjs/packages/modal/src/ui/containers/Widget/Widget.js +110 -0
  47. package/dist/lib.cjs/packages/modal/src/ui/context/ModalStateContext.js +158 -0
  48. package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +64 -21
  49. package/dist/lib.cjs/packages/modal/src/ui/context/WidgetContext.js +52 -0
  50. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
  51. package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +14 -0
  52. package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +14 -0
  53. package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +14 -0
  54. package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +14 -0
  55. package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +26 -12
  56. package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +14 -0
  57. package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
  58. package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
  59. package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +14 -0
  60. package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +14 -0
  61. package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +28 -1
  62. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +186 -46
  63. package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +2 -50
  64. package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +7 -170
  65. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +31 -33
  66. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  67. package/dist/lib.cjs/packages/modal/src/vue/index.js +61 -28
  68. package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +29 -8
  69. package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +37 -23
  70. package/dist/lib.cjs/packages/modal/src/x402/index.js +12 -0
  71. package/dist/lib.cjs/packages/modal/src/x402/react.js +26 -0
  72. package/dist/lib.cjs/packages/modal/src/x402/vue.js +18 -0
  73. package/dist/lib.cjs/types/account-linking/index.d.ts +1 -0
  74. package/dist/lib.cjs/types/account-linking/react.d.ts +2 -0
  75. package/dist/lib.cjs/types/account-linking/vue.d.ts +2 -0
  76. package/dist/lib.cjs/types/interface.d.ts +2 -2
  77. package/dist/lib.cjs/types/modalManager.d.ts +46 -4
  78. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +12 -5
  79. package/dist/lib.cjs/types/react/context/Web3AuthInnerContext.d.ts +4 -3
  80. package/dist/lib.cjs/types/react/hooks/index.d.ts +16 -14
  81. package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +2 -0
  82. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  83. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +3 -3
  84. package/dist/lib.cjs/types/react/interfaces.d.ts +3 -2
  85. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +5 -4
  86. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  87. package/dist/lib.cjs/types/react/solana/provider.d.ts +1 -0
  88. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.d.ts +1 -1
  89. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.type.d.ts +4 -3
  90. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.type.d.ts +1 -0
  91. package/dist/lib.cjs/types/ui/components/Loader/Loader.type.d.ts +7 -5
  92. package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.type.d.ts +2 -1
  93. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.d.ts +4 -0
  94. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.type.d.ts +9 -0
  95. package/dist/lib.cjs/types/ui/components/SpinnerLoader/index.d.ts +2 -0
  96. package/dist/lib.cjs/types/ui/constants.d.ts +7 -4
  97. package/dist/lib.cjs/types/ui/containers/AccountLinking/AccountLinking.d.ts +6 -0
  98. package/dist/lib.cjs/types/ui/containers/AccountLinking/index.d.ts +1 -0
  99. package/dist/lib.cjs/types/ui/containers/ConnectWallet/ConnectWallet.type.d.ts +7 -0
  100. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.type.d.ts +0 -2
  101. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +1 -0
  102. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.type.d.ts +3 -9
  103. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.type.d.ts +0 -2
  104. package/dist/lib.cjs/types/ui/containers/Login/Login.type.d.ts +6 -0
  105. package/dist/lib.cjs/types/ui/{components → containers}/Root/Root.d.ts +1 -1
  106. package/dist/lib.cjs/types/ui/containers/Root/Root.type.d.ts +3 -0
  107. package/dist/lib.cjs/types/ui/containers/Root/RootBodySheets/RootBodySheets.d.ts +1 -0
  108. package/dist/lib.cjs/types/ui/containers/Widget/Widget.type.d.ts +5 -0
  109. package/dist/lib.cjs/types/ui/context/ModalStateContext.d.ts +28 -0
  110. package/dist/lib.cjs/types/ui/context/RootContext.d.ts +19 -7
  111. package/dist/lib.cjs/types/ui/context/WidgetContext.d.ts +45 -0
  112. package/dist/lib.cjs/types/ui/interfaces.d.ts +53 -15
  113. package/dist/lib.cjs/types/ui/loginModal.d.ts +31 -4
  114. package/dist/lib.cjs/types/ui/utils.d.ts +1 -1
  115. package/dist/lib.cjs/types/vue/composables/index.d.ts +3 -14
  116. package/dist/lib.cjs/types/vue/composables/useWallets.d.ts +2 -0
  117. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  118. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +3 -3
  119. package/dist/lib.cjs/types/vue/interfaces.d.ts +3 -17
  120. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +3 -4
  121. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +1 -0
  122. package/dist/lib.cjs/types/vue/solana/constants.d.ts +1 -0
  123. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/solana/provider.d.ts +1 -0
  125. package/dist/lib.cjs/types/x402/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/x402/react.d.ts +2 -0
  127. package/dist/lib.cjs/types/x402/vue.d.ts +2 -0
  128. package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
  129. package/dist/lib.esm/packages/modal/src/account-linking/index.js +1 -0
  130. package/dist/lib.esm/packages/modal/src/account-linking/react.js +1 -0
  131. package/dist/lib.esm/packages/modal/src/account-linking/vue.js +1 -0
  132. package/dist/lib.esm/packages/modal/src/config.js +1 -1
  133. package/dist/lib.esm/packages/modal/src/modalManager.js +478 -19
  134. package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +4 -2
  135. package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +4 -57
  136. package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +12 -151
  137. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  138. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +28 -41
  139. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +7 -3
  140. package/dist/lib.esm/packages/modal/src/react/index.js +1 -14
  141. package/dist/lib.esm/packages/modal/src/react/solana/index.js +1 -4
  142. package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +34 -17
  143. package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +15 -18
  144. package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.js +4 -2
  145. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
  146. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +12 -13
  147. package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +7 -7
  148. package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +7 -7
  149. package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +133 -45
  150. package/dist/lib.esm/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
  151. package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +20 -19
  152. package/dist/lib.esm/packages/modal/src/ui/components/Otp/Otp.js +10 -10
  153. package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
  154. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +22 -24
  155. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +4 -0
  156. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +28 -0
  157. package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +14 -14
  158. package/dist/lib.esm/packages/modal/src/ui/constants.js +5 -2
  159. package/dist/lib.esm/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +107 -0
  160. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +81 -32
  161. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +20 -11
  162. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +10 -10
  163. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
  164. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +41 -33
  165. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +15 -13
  166. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +13 -7
  167. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Embed/Embed.js +12 -11
  168. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/Login.js +99 -83
  169. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +12 -12
  170. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +14 -14
  171. package/dist/lib.esm/packages/modal/src/ui/containers/Root/Root.js +253 -0
  172. package/dist/lib.esm/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +183 -0
  173. package/dist/lib.esm/packages/modal/src/ui/containers/Widget/Widget.js +108 -0
  174. package/dist/lib.esm/packages/modal/src/ui/context/ModalStateContext.js +161 -0
  175. package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +60 -22
  176. package/dist/lib.esm/packages/modal/src/ui/context/WidgetContext.js +49 -0
  177. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
  178. package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +14 -0
  179. package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +14 -0
  180. package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +14 -0
  181. package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +14 -0
  182. package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +26 -12
  183. package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +14 -0
  184. package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
  185. package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
  186. package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +14 -0
  187. package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +14 -0
  188. package/dist/lib.esm/packages/modal/src/ui/interfaces.js +26 -2
  189. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +188 -48
  190. package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +5 -54
  191. package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +9 -176
  192. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +28 -30
  193. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  194. package/dist/lib.esm/packages/modal/src/vue/index.js +1 -14
  195. package/dist/lib.esm/packages/modal/src/vue/solana/index.js +1 -4
  196. package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +33 -19
  197. package/dist/lib.esm/packages/modal/src/x402/index.js +1 -0
  198. package/dist/lib.esm/packages/modal/src/x402/react.js +1 -0
  199. package/dist/lib.esm/packages/modal/src/x402/vue.js +1 -0
  200. package/package.json +94 -47
  201. package/dist/lib.cjs/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -12
  202. package/dist/lib.cjs/packages/modal/src/react/hooks/useChain.js +0 -16
  203. package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +0 -34
  204. package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +0 -30
  205. package/dist/lib.cjs/packages/modal/src/react/hooks/useFunding.js +0 -34
  206. package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +0 -46
  207. package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +0 -30
  208. package/dist/lib.cjs/packages/modal/src/react/hooks/useReceive.js +0 -34
  209. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +0 -34
  210. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +0 -32
  211. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -34
  212. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -13
  213. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +0 -34
  214. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -30
  215. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -50
  216. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -36
  217. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -37
  218. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -36
  219. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -68
  220. package/dist/lib.cjs/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -88
  221. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +0 -513
  222. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +0 -251
  223. package/dist/lib.cjs/packages/modal/src/ui/context/ThemeContext.js +0 -9
  224. package/dist/lib.cjs/packages/modal/src/vue/composables/useChain.js +0 -13
  225. package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +0 -35
  226. package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +0 -33
  227. package/dist/lib.cjs/packages/modal/src/vue/composables/useFunding.js +0 -35
  228. package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +0 -51
  229. package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +0 -33
  230. package/dist/lib.cjs/packages/modal/src/vue/composables/useReceive.js +0 -35
  231. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +0 -35
  232. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +0 -33
  233. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -35
  234. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -13
  235. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +0 -35
  236. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -33
  237. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -54
  238. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -37
  239. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -39
  240. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -37
  241. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -67
  242. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  243. package/dist/lib.cjs/types/react/hooks/useChain.d.ts +0 -6
  244. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +0 -8
  245. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +0 -7
  246. package/dist/lib.cjs/types/react/hooks/useFunding.d.ts +0 -8
  247. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +0 -13
  248. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +0 -7
  249. package/dist/lib.cjs/types/react/hooks/useReceive.d.ts +0 -8
  250. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +0 -8
  251. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +0 -7
  252. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +0 -8
  253. package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +0 -2
  254. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +0 -8
  255. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +0 -9
  256. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +0 -9
  257. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +0 -8
  258. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +0 -8
  259. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +0 -13
  260. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +0 -8
  261. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.d.ts +0 -3
  262. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.type.d.ts +0 -19
  263. package/dist/lib.cjs/types/ui/components/CircularLoader/index.d.ts +0 -2
  264. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +0 -27
  265. package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +0 -35
  266. package/dist/lib.cjs/types/ui/components/Root/Root.type.d.ts +0 -36
  267. package/dist/lib.cjs/types/ui/components/Widget/Widget.type.d.ts +0 -24
  268. package/dist/lib.cjs/types/ui/context/ThemeContext.d.ts +0 -3
  269. package/dist/lib.cjs/types/vue/composables/useChain.d.ts +0 -7
  270. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +0 -9
  271. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +0 -8
  272. package/dist/lib.cjs/types/vue/composables/useFunding.d.ts +0 -9
  273. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +0 -9
  274. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +0 -8
  275. package/dist/lib.cjs/types/vue/composables/useReceive.d.ts +0 -9
  276. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +0 -9
  277. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +0 -10
  278. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +0 -9
  279. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +0 -2
  280. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +0 -9
  281. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +0 -10
  282. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +0 -10
  283. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +0 -9
  284. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +0 -9
  285. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +0 -9
  286. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +0 -9
  287. package/dist/lib.esm/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -1
  288. package/dist/lib.esm/packages/modal/src/react/hooks/useChain.js +0 -14
  289. package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +0 -32
  290. package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +0 -28
  291. package/dist/lib.esm/packages/modal/src/react/hooks/useFunding.js +0 -32
  292. package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +0 -44
  293. package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +0 -28
  294. package/dist/lib.esm/packages/modal/src/react/hooks/useReceive.js +0 -32
  295. package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +0 -32
  296. package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +0 -30
  297. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -32
  298. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -11
  299. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +0 -32
  300. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -28
  301. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -48
  302. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -34
  303. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -35
  304. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -34
  305. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -64
  306. package/dist/lib.esm/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -86
  307. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +0 -524
  308. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +0 -253
  309. package/dist/lib.esm/packages/modal/src/ui/context/ThemeContext.js +0 -7
  310. package/dist/lib.esm/packages/modal/src/vue/composables/useChain.js +0 -11
  311. package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +0 -33
  312. package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +0 -31
  313. package/dist/lib.esm/packages/modal/src/vue/composables/useFunding.js +0 -33
  314. package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +0 -49
  315. package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +0 -31
  316. package/dist/lib.esm/packages/modal/src/vue/composables/useReceive.js +0 -33
  317. package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +0 -33
  318. package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +0 -31
  319. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -33
  320. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -11
  321. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +0 -33
  322. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -31
  323. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -52
  324. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -35
  325. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -37
  326. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -35
  327. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -65
  328. package/dist/modal.umd.min.js +0 -2
  329. package/dist/modal.umd.min.js.LICENSE.txt +0 -102
  330. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWallet.d.ts +0 -0
  331. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.d.ts +0 -0
  332. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/index.d.ts +0 -0
  333. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.d.ts +0 -0
  334. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.type.d.ts +0 -0
  335. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/index.d.ts +0 -0
  336. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.d.ts +0 -0
  337. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/index.d.ts +0 -0
  338. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.d.ts +0 -0
  339. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/index.d.ts +0 -0
  340. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.d.ts +0 -0
  341. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +0 -0
  342. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/index.d.ts +0 -0
  343. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.d.ts +0 -0
  344. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/index.d.ts +0 -0
  345. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/index.d.ts +0 -0
  346. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.d.ts +0 -0
  347. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.type.d.ts +0 -0
  348. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/index.d.ts +0 -0
  349. /package/dist/lib.cjs/types/ui/{components → containers}/Login/Login.d.ts +0 -0
  350. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.d.ts +0 -0
  351. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.type.d.ts +0 -0
  352. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/index.d.ts +0 -0
  353. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.d.ts +0 -0
  354. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.type.d.ts +0 -0
  355. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/index.d.ts +0 -0
  356. /package/dist/lib.cjs/types/ui/{components → containers}/Login/index.d.ts +0 -0
  357. /package/dist/lib.cjs/types/ui/{components → containers}/Root/index.d.ts +0 -0
  358. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/Widget.d.ts +0 -0
  359. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/index.d.ts +0 -0
@@ -1,11 +1,11 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { serializeError } from '@web3auth/auth';
4
- import { Web3AuthNoModal, cloneDeep, WALLET_CONNECTORS, LOGIN_MODE, log, CONNECTOR_STATUS, CONNECTED_STATUSES, sdkVersion, ANALYTICS_SDK_TYPE, withAbort, CONNECTOR_EVENTS, ANALYTICS_EVENTS, getErrorAnalyticsProperties, WalletInitializationError, CONNECTOR_INITIAL_AUTHENTICATION_MODE, fetchProjectConfig, fetchWalletRegistry, WALLET_REGISTRY_URL, CONNECTOR_CATEGORY, CONNECTOR_NAMES, CONNECTOR_NAMESPACES } from '@web3auth/no-modal';
4
+ import { Web3AuthNoModal, LOGIN_MODE, cloneDeep, WALLET_CONNECTORS, log, CONNECTOR_STATUS, CONNECTED_STATUSES, CONNECTOR_INITIAL_AUTHENTICATION_MODE, sdkVersion, ANALYTICS_SDK_TYPE, withAbort, CONNECTOR_EVENTS, ANALYTICS_EVENTS, getErrorAnalyticsProperties, WalletInitializationError, AccountLinkingError, fetchProjectConfig, fetchWalletRegistry, WALLET_REGISTRY_URL, CONNECTOR_CATEGORY, CONNECTOR_NAMES, CONNECTOR_NAMESPACES, Web3AuthError, WalletLoginError } from '@web3auth/no-modal';
5
5
  import deepmerge from 'deepmerge';
6
6
  import { defaultConnectorsModalConfig } from './config.js';
7
7
  import { AUTH_PROVIDERS_NAMES, AUTH_PROVIDERS, capitalizeFirstLetter } from './ui/config.js';
8
- import { LOGIN_MODAL_EVENTS } from './ui/interfaces.js';
8
+ import { LOGIN_MODAL_EVENTS, ACCOUNT_LINKING_INTENT, ACCOUNT_LINKING_STATUS } from './ui/interfaces.js';
9
9
  import { LoginModal } from './ui/loginModal.js';
10
10
  import { getUserLanguage } from './ui/utils.js';
11
11
 
@@ -13,8 +13,13 @@ class Web3Auth extends Web3AuthNoModal {
13
13
  constructor(options, initialState) {
14
14
  super(options, initialState);
15
15
  _defineProperty(this, "loginModal", void 0);
16
+ _defineProperty(this, "loginMode", LOGIN_MODE.MODAL);
16
17
  _defineProperty(this, "options", void 0);
17
18
  _defineProperty(this, "modalConfig", cloneDeep(defaultConnectorsModalConfig));
19
+ _defineProperty(this, "removeAccountLinkingConnectorListeners", null);
20
+ _defineProperty(this, "removeAccountLinkingResetOnCloseListener", null);
21
+ _defineProperty(this, "accountLinkingPickerResolver", null);
22
+ _defineProperty(this, "removeAccountLinkingPickerCloseListener", null);
18
23
  _defineProperty(this, "onInitExternalWallets", async params => {
19
24
  if (params.externalWalletsInitialized) return;
20
25
  // initialize WC connector only as other external wallets are initialized in initModal
@@ -27,10 +32,17 @@ class Web3Auth extends Web3AuthNoModal {
27
32
  try {
28
33
  await this.connectTo(WALLET_CONNECTORS.AUTH, params.loginParams, LOGIN_MODE.MODAL);
29
34
  } catch (error) {
30
- log.error(`Error while connecting to connector: ${params.connector}`, error);
35
+ log.error("Error while connecting via social login (AUTH)", error);
31
36
  }
32
37
  });
33
38
  _defineProperty(this, "onExternalWalletLogin", async params => {
39
+ // If the modal is in account-linking picker mode, hand off the selected connector
40
+ // to the linking flow instead of running the regular login `connectTo`.
41
+ if (this.accountLinkingPickerResolver) {
42
+ const resolver = this.accountLinkingPickerResolver;
43
+ resolver(params.connector);
44
+ return;
45
+ }
34
46
  try {
35
47
  var _params$loginParams;
36
48
  const connector = this.getConnector(params.connector, (_params$loginParams = params.loginParams) === null || _params$loginParams === void 0 ? void 0 : _params$loginParams.chainNamespace);
@@ -49,8 +61,12 @@ class Web3Auth extends Web3AuthNoModal {
49
61
  }
50
62
  });
51
63
  _defineProperty(this, "onModalVisibility", async visibility => {
64
+ var _this$loginModal;
52
65
  log.debug("is login modal visible", visibility);
53
66
  this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
67
+ if ((_this$loginModal = this.loginModal) !== null && _this$loginModal !== void 0 && _this$loginModal.hasActiveAccountLinkingSession()) {
68
+ return;
69
+ }
54
70
 
55
71
  // handle WC session refresh
56
72
  const wcConnector = this.getConnector(WALLET_CONNECTORS.WALLET_CONNECT_V2);
@@ -79,18 +95,39 @@ class Web3Auth extends Web3AuthNoModal {
79
95
  _defineProperty(this, "onMobileVerifyConnect", async params => {
80
96
  try {
81
97
  const connector = this.getConnector(params.connector);
82
- await connector.getIdentityToken();
98
+ await connector.getAuthTokenInfo();
83
99
  } catch (error) {
84
100
  log.error(`Error while connecting to connector: ${params.connector}`, error);
85
101
  }
86
102
  });
103
+ _defineProperty(this, "onAcceptConsent", async () => {
104
+ try {
105
+ await this.acceptConsent();
106
+ } catch (error) {
107
+ log.error("Error while accepting consent", error);
108
+ }
109
+ });
110
+ _defineProperty(this, "onDeclineConsent", async () => {
111
+ try {
112
+ await this.logout();
113
+ } catch (error) {
114
+ log.error("Error while declining consent", error);
115
+ } finally {
116
+ this.loginModal.closeModal();
117
+ }
118
+ });
87
119
  _defineProperty(this, "getChainNamespaces", () => {
88
120
  var _this$coreOptions$cha;
89
121
  return [...new Set(((_this$coreOptions$cha = this.coreOptions.chains) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.map(x => x.chainNamespace)) || [])];
90
122
  });
91
123
  this.options = _objectSpread({}, options);
124
+ if (!this.options.initialAuthenticationMode) {
125
+ this.options.initialAuthenticationMode = CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
126
+ }
92
127
  if (!this.options.uiConfig) this.options.uiConfig = {};
93
128
  if (this.options.modalConfig) this.modalConfig = this.options.modalConfig;
129
+ // consent required is true if the consent required is true and the privacy policy and tnc link are set
130
+ this.consentRequired = this.options.uiConfig.consentRequired && Boolean(this.options.uiConfig.privacyPolicy) && Boolean(this.options.uiConfig.tncLink) || false;
94
131
  log.info("modalConfig", this.modalConfig);
95
132
  }
96
133
  async init(options) {
@@ -153,8 +190,11 @@ class Web3Auth extends Web3AuthNoModal {
153
190
  onSocialLogin: this.onSocialLogin,
154
191
  onExternalWalletLogin: this.onExternalWalletLogin,
155
192
  onModalVisibility: this.onModalVisibility,
156
- onMobileVerifyConnect: this.onMobileVerifyConnect
193
+ onMobileVerifyConnect: this.onMobileVerifyConnect,
194
+ onAcceptConsent: this.onAcceptConsent,
195
+ onDeclineConsent: this.onDeclineConsent
157
196
  });
197
+ this.consentRequired = this.loginModal.consentRequired;
158
198
  await withAbort(() => this.loginModal.initModal(), signal);
159
199
 
160
200
  // setup common JRPC provider
@@ -208,41 +248,179 @@ class Web3Auth extends Web3AuthNoModal {
208
248
  }
209
249
  async connect() {
210
250
  if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
211
- // if already connected return provider
212
- if (this.connectedConnectorName && CONNECTED_STATUSES.includes(this.status) && this.provider) return this.provider;
251
+ // if already connected return connection
252
+ if (CONNECTED_STATUSES.includes(this.status) && this.connection) return this.connection;
213
253
  this.loginModal.open();
214
254
  return new Promise((resolve, reject) => {
255
+ // track connection started event
256
+ const startTime = Date.now();
215
257
  // remove all listeners when promise is resolved or rejected.
216
258
  // this is to prevent memory leaks if user clicks connect button multiple times.
217
- const handleConnected = () => {
259
+ const handleCompletion = () => {
218
260
  this.removeListener(CONNECTOR_EVENTS.ERRORED, handleError);
219
261
  this.removeListener(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
220
- return resolve(this.provider);
262
+ if (this.coreOptions.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN) {
263
+ this.removeListener(CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
264
+ } else {
265
+ this.removeListener(CONNECTOR_EVENTS.CONNECTED, handleCompletion);
266
+ }
267
+ return resolve(this.connection);
268
+ };
269
+ const handleConsentAccepted = async () => {
270
+ try {
271
+ var _this$primaryConnecto;
272
+ // track connection completed event
273
+ const userInfo = await this.getUserInfo();
274
+ // TODO: correct event data
275
+ this.analytics.track(ANALYTICS_EVENTS.CONNECTION_COMPLETED, {
276
+ connector: (_this$primaryConnecto = this.primaryConnector) === null || _this$primaryConnecto === void 0 ? void 0 : _this$primaryConnecto.name,
277
+ is_mfa_enabled: userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled,
278
+ duration: Date.now() - startTime
279
+ });
280
+ } catch (error) {
281
+ log.error("Failed to track connection completed event after consent acceptance", error);
282
+ }
283
+ handleCompletion();
221
284
  };
222
285
  const handleError = err => {
223
- this.removeListener(CONNECTOR_EVENTS.CONNECTED, handleConnected);
224
- this.removeListener(CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
286
+ this.removeListener(CONNECTOR_EVENTS.CONNECTED, handleCompletion);
287
+ this.removeListener(CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
225
288
  this.removeListener(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
226
289
  return reject(err);
227
290
  };
228
291
  const handleVisibility = visibility => {
229
292
  // modal is closed but user is not connected to any wallet.
230
293
  if (!visibility && !CONNECTED_STATUSES.includes(this.status)) {
231
- this.removeListener(CONNECTOR_EVENTS.CONNECTED, handleConnected);
294
+ this.removeListener(CONNECTOR_EVENTS.CONNECTED, handleCompletion);
232
295
  this.removeListener(CONNECTOR_EVENTS.ERRORED, handleError);
233
- this.removeListener(CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
296
+ this.removeListener(CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
234
297
  return reject(new Error("User closed the modal"));
235
298
  }
236
299
  };
300
+ if (this.consentRequired) {
301
+ this.once(CONNECTOR_EVENTS.CONSENT_ACCEPTED, handleConsentAccepted);
302
+ }
237
303
  if (this.coreOptions.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN) {
238
- this.once(CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
304
+ this.once(CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
239
305
  } else {
240
- this.once(CONNECTOR_EVENTS.CONNECTED, handleConnected);
306
+ this.once(CONNECTOR_EVENTS.CONNECTED, handleCompletion);
241
307
  }
242
308
  this.once(CONNECTOR_EVENTS.ERRORED, handleError);
243
309
  this.once(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
244
310
  });
245
311
  }
312
+ async acceptConsent() {
313
+ await super.completeConsentAcceptance();
314
+ }
315
+ async switchAccount(account) {
316
+ const authConnector = this.getMainAuthConnector();
317
+ const switchResult = await authConnector.switchAccount(account, {
318
+ activeAccount: this.activeAccount,
319
+ currentChainId: this.currentChainId
320
+ });
321
+ if (!switchResult) {
322
+ return;
323
+ }
324
+ try {
325
+ var _await$this$getProjec;
326
+ const existingConnector = switchResult.kind === "external" ? this.getConnectedWalletConnector(switchResult.targetAccount) : null;
327
+ // check if the existing connector is connected and usable, then we can switch to it without re-connecting again
328
+ const isExistingConnectorConnected = Boolean(existingConnector && this.hasUsableConnectedSwitchConnector(existingConnector));
329
+ const projectConfig = switchResult.kind === "external" && !isExistingConnectorConnected ? (_await$this$getProjec = await this.getProjectAndWalletConfig()) === null || _await$this$getProjec === void 0 ? void 0 : _await$this$getProjec.projectConfig : undefined;
330
+ if (switchResult.kind !== "external" || isExistingConnectorConnected) {
331
+ await this.runNonWalletConnectAccountAction(switchResult.targetAccount.connector, () => super.processSwitchAccountResult(authConnector, switchResult, {
332
+ walletConnector: isExistingConnectorConnected && existingConnector ? existingConnector : undefined,
333
+ projectConfig
334
+ }), {
335
+ skipSuccessScreen: true
336
+ });
337
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
338
+ return;
339
+ }
340
+ const connectorToSwitchTo = await this.prepareAccountSwitchConnector(switchResult.targetAccount.connector, switchResult.activeChainId, projectConfig);
341
+ if (connectorToSwitchTo.name !== WALLET_CONNECTORS.WALLET_CONNECT_V2) {
342
+ await this.runNonWalletConnectAccountAction(switchResult.targetAccount.connector, () => super.processSwitchAccountResult(authConnector, switchResult, {
343
+ walletConnector: connectorToSwitchTo,
344
+ projectConfig
345
+ }), {
346
+ skipSuccessScreen: true
347
+ });
348
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
349
+ return;
350
+ }
351
+ await this.switchToWalletConnectV2Account(switchResult, connectorToSwitchTo, projectConfig);
352
+ } catch (error) {
353
+ await authConnector.trackSwitchAccountFailed(switchResult.targetAccount, error);
354
+ throw error;
355
+ }
356
+ }
357
+ async linkAccount(params) {
358
+ // Pre-flight: ensure user is connected via AUTH so we fail fast before opening the modal.
359
+ this.getMainAuthConnector();
360
+ const chainId = this.resolveLinkAccountChainId(params === null || params === void 0 ? void 0 : params.chainId);
361
+ if (!(params !== null && params !== void 0 && params.connectorName)) {
362
+ const pickedConnector = await this.pickWalletForAccountLinking(chainId);
363
+ return this.linkAccountWithChosenConnector(pickedConnector, chainId);
364
+ }
365
+ return this.linkAccountWithChosenConnector(params.connectorName, chainId);
366
+ }
367
+ startAccountLinkingModalSession(params) {
368
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
369
+ this.loginModal.startAccountLinkingSession(params);
370
+ }
371
+ updateAccountLinkingModalSession(accountLinking) {
372
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
373
+ this.loginModal.updateAccountLinkingState(accountLinking);
374
+ }
375
+ resetAccountLinkingModalSession() {
376
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
377
+ this.loginModal.resetAccountLinkingSession();
378
+ }
379
+ formatAccountLinkingErrorMessage(error) {
380
+ if (error instanceof AccountLinkingError) {
381
+ const isUnlink = error.code >= 5406 && error.code <= 5408;
382
+ return isUnlink ? `[${error.code}] Account unlinking failed` : `[${error.code}] Account linking failed`;
383
+ }
384
+ return error === null || error === void 0 ? void 0 : error.message;
385
+ }
386
+ async prepareAccountLinkingConnector(connectorName, chainId) {
387
+ const {
388
+ projectConfig
389
+ } = await this.getProjectAndWalletConfig();
390
+ const connector = await super.createLinkingWalletConnector(connectorName, chainId, projectConfig);
391
+ if (connector.name !== WALLET_CONNECTORS.WALLET_CONNECT_V2) {
392
+ return connector;
393
+ }
394
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
395
+ this.clearAccountLinkingConnectorListeners();
396
+ this.removeAccountLinkingConnectorListeners = this.subscribeToAccountLinkingConnectorEvents(connector);
397
+ this.startAccountLinkingModalSession({
398
+ connectorName,
399
+ transportConnectorName: connector.name,
400
+ chainId,
401
+ intent: ACCOUNT_LINKING_INTENT.LINK
402
+ });
403
+ this.loginModal.open();
404
+ return connector;
405
+ }
406
+ async prepareAccountSwitchConnector(connectorName, chainId, projectConfig) {
407
+ const finalProjectConfig = projectConfig !== null && projectConfig !== void 0 ? projectConfig : (await this.getProjectAndWalletConfig()).projectConfig;
408
+ const connector = await super.createSwitchingWalletConnector(connectorName, chainId, finalProjectConfig);
409
+ if (connector.name !== WALLET_CONNECTORS.WALLET_CONNECT_V2) {
410
+ return connector;
411
+ }
412
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
413
+ this.clearAccountLinkingConnectorListeners();
414
+ this.removeAccountLinkingConnectorListeners = this.subscribeToAccountLinkingConnectorEvents(connector);
415
+ this.startAccountLinkingModalSession({
416
+ connectorName,
417
+ transportConnectorName: connector.name,
418
+ chainId,
419
+ intent: ACCOUNT_LINKING_INTENT.SWITCH
420
+ });
421
+ this.loginModal.open();
422
+ return connector;
423
+ }
246
424
  initUIConfig(projectConfig) {
247
425
  super.initUIConfig(projectConfig);
248
426
  this.options.uiConfig = deepmerge(cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
@@ -551,7 +729,7 @@ class Web3Auth extends Web3AuthNoModal {
551
729
  await connector.init({
552
730
  autoConnect,
553
731
  chainId: initialChain.chainId,
554
- getIdentityToken: this.options.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
732
+ getAuthTokenInfo: this.options.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
555
733
  });
556
734
 
557
735
  // note: not adding cachedWallet to modal if it is external wallet.
@@ -560,7 +738,7 @@ class Web3Auth extends Web3AuthNoModal {
560
738
  var _this$modalConfig$con6, _this$options$uiConfi13, _this$options$uiConfi14, _this$options$uiConfi15;
561
739
  log.info("connectorInitResults", connectorName);
562
740
  const loginMethods = ((_this$modalConfig$con6 = this.modalConfig.connectors[connectorName]) === null || _this$modalConfig$con6 === void 0 ? void 0 : _this$modalConfig$con6.loginMethods) || {};
563
- this.loginModal.addSocialLogins(connectorName, loginMethods, ((_this$options$uiConfi13 = this.options.uiConfig) === null || _this$options$uiConfi13 === void 0 ? void 0 : _this$options$uiConfi13.loginMethodsOrder) || AUTH_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
741
+ this.loginModal.addSocialLogins(loginMethods, ((_this$options$uiConfi13 = this.options.uiConfig) === null || _this$options$uiConfi13 === void 0 ? void 0 : _this$options$uiConfi13.loginMethodsOrder) || AUTH_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
564
742
  loginGridCol: ((_this$options$uiConfi14 = this.options.uiConfig) === null || _this$options$uiConfi14 === void 0 ? void 0 : _this$options$uiConfi14.loginGridCol) || 3,
565
743
  primaryButton: ((_this$options$uiConfi15 = this.options.uiConfig) === null || _this$options$uiConfi15 === void 0 ? void 0 : _this$options$uiConfi15.primaryButton) || "socialLogin"
566
744
  }));
@@ -576,6 +754,7 @@ class Web3Auth extends Web3AuthNoModal {
576
754
 
577
755
  // we do it like this because we don't want one slow connector to delay the load of the entire external wallet section.
578
756
  externalConnectors.forEach(async connector => {
757
+ var _this$connection;
579
758
  const connectorName = connector.name;
580
759
  log.debug("init external wallet", this.cachedConnector, connectorName, connector.status);
581
760
 
@@ -589,14 +768,14 @@ class Web3Auth extends Web3AuthNoModal {
589
768
 
590
769
  // initialize connectors
591
770
  // skip initializing cached connector here as it is already being initialized in initModal before.
592
- if (connector.status === CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName) {
771
+ if (connector.status === CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName && ((_this$connection = this.connection) === null || _this$connection === void 0 ? void 0 : _this$connection.connectorName) !== connectorName) {
593
772
  try {
594
773
  this.subscribeToConnectorEvents(connector);
595
774
  const initialChain = this.getInitialChainIdForConnector(connector);
596
775
  await connector.init({
597
776
  autoConnect: this.cachedConnector === connectorName,
598
777
  chainId: initialChain.chainId,
599
- getIdentityToken: this.options.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
778
+ getAuthTokenInfo: this.options.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
600
779
  });
601
780
  } catch (error) {
602
781
  log.error(error, "error while initializing connector", connectorName);
@@ -619,6 +798,286 @@ class Web3Auth extends Web3AuthNoModal {
619
798
  }
620
799
  });
621
800
  }
801
+ async switchToWalletConnectV2Account(switchResult, connectorToSwitchTo, projectConfig) {
802
+ const authConnector = this.getMainAuthConnector();
803
+ try {
804
+ await this.runWalletConnectV2AccountAction({
805
+ connector: connectorToSwitchTo,
806
+ connectParams: {
807
+ chainId: switchResult.activeChainId
808
+ },
809
+ onConnected: async connector => {
810
+ await super.processSwitchAccountResult(authConnector, switchResult, {
811
+ walletConnector: connector,
812
+ projectConfig
813
+ });
814
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
815
+ return {
816
+ result: undefined,
817
+ retainConnector: true
818
+ };
819
+ },
820
+ intent: ACCOUNT_LINKING_INTENT.SWITCH
821
+ });
822
+ } catch (error) {
823
+ await authConnector.trackSwitchAccountFailed(switchResult.targetAccount, error);
824
+ throw error;
825
+ }
826
+ }
827
+
828
+ /**
829
+ * Runs a link/switch action for WalletConnect v2, racing connector.connect()
830
+ * against a modal-close promise to cancel and clean up the WC session if the
831
+ * user closes the modal during QR scanning.
832
+ * For synchronous connectors use {@link runNonWalletConnectAccountAction}.
833
+ */
834
+ async runWalletConnectV2AccountAction(params) {
835
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
836
+ this.clearAccountLinkingResetOnCloseListener();
837
+ let retainConnector = false;
838
+ let connectCancelled = false;
839
+ let removeConnectPhaseVisibilityListener = () => {};
840
+ const closeDuringConnectPromise = new Promise((_resolve, reject) => {
841
+ const handleVisibility = visibility => {
842
+ if (!visibility) {
843
+ connectCancelled = true;
844
+ reject(WalletLoginError.popupClosed("User closed the modal"));
845
+ }
846
+ };
847
+ this.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
848
+ removeConnectPhaseVisibilityListener = () => {
849
+ this.removeListener(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
850
+ };
851
+ });
852
+ const connector = params.connector;
853
+ const connectPromise = connector.connect(params.connectParams);
854
+ void connectPromise.then(async connection => {
855
+ if (!connectCancelled || !connection || !connector.connected || retainConnector) return undefined;
856
+ try {
857
+ await connector.disconnect({
858
+ cleanup: true
859
+ });
860
+ } catch (error) {
861
+ log.debug("Failed to disconnect cancelled WalletConnect connector during cleanup", error);
862
+ }
863
+ return undefined;
864
+ }).catch(() => {});
865
+ try {
866
+ const connection = await Promise.race([connectPromise, closeDuringConnectPromise]);
867
+ if (!connection) {
868
+ throw AccountLinkingError.requestFailed("Failed to connect wallet.");
869
+ }
870
+ removeConnectPhaseVisibilityListener();
871
+ this.updateAccountLinkingModalSession({
872
+ status: ACCOUNT_LINKING_STATUS.LINKING,
873
+ intent: params.intent,
874
+ walletConnectUri: "",
875
+ errorMessage: ""
876
+ });
877
+ const {
878
+ result,
879
+ retainConnector: shouldRetainConnector = false
880
+ } = await params.onConnected(connector, connection);
881
+ retainConnector = shouldRetainConnector;
882
+ this.resetAccountLinkingModalSession();
883
+ this.loginModal.endConnectingLoader({
884
+ success: true,
885
+ successMessage: "",
886
+ skipSuccessScreen: params.intent === ACCOUNT_LINKING_INTENT.SWITCH
887
+ });
888
+ return result;
889
+ } catch (error) {
890
+ const isPopupClosed = error instanceof Web3AuthError && error.code === 5114;
891
+ if (isPopupClosed) {
892
+ this.resetAccountLinkingModalSession();
893
+ } else {
894
+ const fallbackMessage = params.intent === ACCOUNT_LINKING_INTENT.SWITCH ? "Failed to switch wallet." : undefined;
895
+ const errorMessage = this.formatAccountLinkingErrorMessage(error) || fallbackMessage;
896
+ this.resetAccountLinkingModalSession();
897
+ this.loginModal.endConnectingLoader({
898
+ success: false,
899
+ errorMessage
900
+ });
901
+ }
902
+ this.installAccountLinkingResetOnCloseListener();
903
+ throw error;
904
+ } finally {
905
+ removeConnectPhaseVisibilityListener();
906
+ this.clearAccountLinkingConnectorListeners();
907
+ try {
908
+ if (!retainConnector && connector.connected) {
909
+ await connector.disconnect({
910
+ cleanup: true
911
+ });
912
+ }
913
+ } catch (error) {
914
+ log.debug("Failed to disconnect WalletConnect connector during cleanup", error);
915
+ }
916
+ }
917
+ }
918
+ async linkAccountWithChosenConnector(connectorName, chainId) {
919
+ const connectorToLink = await this.prepareAccountLinkingConnector(connectorName, chainId);
920
+ if (connectorToLink.name !== WALLET_CONNECTORS.WALLET_CONNECT_V2) {
921
+ return this.runNonWalletConnectAccountAction(connectorName, () => super.linkAccountWithConnector(connectorName, chainId, connectorToLink), {
922
+ connector: connectorToLink
923
+ });
924
+ }
925
+ return this.runWalletConnectV2AccountAction({
926
+ connector: connectorToLink,
927
+ connectParams: {
928
+ chainId,
929
+ isAccountLinking: true
930
+ },
931
+ onConnected: async connector => ({
932
+ result: await super.linkAccountWithConnector(connectorName, chainId, connector)
933
+ }),
934
+ intent: ACCOUNT_LINKING_INTENT.LINK
935
+ });
936
+ }
937
+ pickWalletForAccountLinking(chainId) {
938
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
939
+ if (this.accountLinkingPickerResolver) {
940
+ throw AccountLinkingError.requestFailed("Another account linking picker is already in progress.");
941
+ }
942
+ this.loginModal.startAccountLinkingPicker({
943
+ chainId
944
+ });
945
+ return new Promise((resolve, reject) => {
946
+ const cleanup = () => {
947
+ this.accountLinkingPickerResolver = null;
948
+ if (this.removeAccountLinkingPickerCloseListener) {
949
+ this.removeAccountLinkingPickerCloseListener();
950
+ this.removeAccountLinkingPickerCloseListener = null;
951
+ }
952
+ this.loginModal.endAccountLinkingPicker();
953
+ };
954
+ const handleVisibility = visible => {
955
+ if (visible) return;
956
+ cleanup();
957
+ reject(WalletLoginError.popupClosed("User closed the modal"));
958
+ };
959
+ this.accountLinkingPickerResolver = connector => {
960
+ cleanup();
961
+ resolve(connector);
962
+ };
963
+ this.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
964
+ this.removeAccountLinkingPickerCloseListener = () => {
965
+ this.removeListener(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
966
+ };
967
+ });
968
+ }
969
+
970
+ /**
971
+ * Runs a link/switch action for synchronous connectors (injected wallets, already-connected).
972
+ * Shows the connecting loader, forwards AUTHORIZING events to the modal, and
973
+ * resolves/rejects the loader on completion.
974
+ * For WalletConnect v2 use {@link runWalletConnectV2AccountAction}.
975
+ */
976
+ async runNonWalletConnectAccountAction(connectorName, fn, options = {}) {
977
+ if (!this.loginModal) throw WalletInitializationError.notReady("Login modal is not initialized");
978
+ const displayName = CONNECTOR_NAMES[connectorName] || connectorName;
979
+ this.loginModal.startConnectingLoader({
980
+ connector: connectorName,
981
+ connectorName: displayName
982
+ });
983
+
984
+ // Forward the AUTHORIZING event from the linking wallet connector to the modal so we can
985
+ // swap the loader from "connecting" to "authorizing" while the user reviews the signature
986
+ // request inside their wallet.
987
+ const handleAuthorizing = () => {
988
+ var _this$loginModal2;
989
+ return (_this$loginModal2 = this.loginModal) === null || _this$loginModal2 === void 0 ? void 0 : _this$loginModal2.markLoaderAuthorizing();
990
+ };
991
+ if (options.connector) {
992
+ options.connector.on(CONNECTOR_EVENTS.AUTHORIZING, handleAuthorizing);
993
+ }
994
+ try {
995
+ const result = await fn();
996
+ this.resetAccountLinkingModalSession();
997
+ this.loginModal.endConnectingLoader({
998
+ success: true,
999
+ skipSuccessScreen: options.skipSuccessScreen
1000
+ });
1001
+ return result;
1002
+ } catch (error) {
1003
+ const message = this.formatAccountLinkingErrorMessage(error);
1004
+ this.resetAccountLinkingModalSession();
1005
+ this.loginModal.endConnectingLoader({
1006
+ success: false,
1007
+ errorMessage: message
1008
+ });
1009
+ throw error;
1010
+ } finally {
1011
+ if (options.connector) {
1012
+ options.connector.removeListener(CONNECTOR_EVENTS.AUTHORIZING, handleAuthorizing);
1013
+ }
1014
+ }
1015
+ }
1016
+ subscribeToAccountLinkingConnectorEvents(connector) {
1017
+ const handleConnecting = () => {
1018
+ this.updateAccountLinkingModalSession({
1019
+ status: ACCOUNT_LINKING_STATUS.AWAITING_CONNECTION,
1020
+ errorMessage: ""
1021
+ });
1022
+ };
1023
+ const handleConnectorDataUpdated = connectorData => {
1024
+ if (connectorData.connectorName !== WALLET_CONNECTORS.WALLET_CONNECT_V2) return;
1025
+ const walletConnectData = connectorData.data;
1026
+ if (!walletConnectData.uri) return;
1027
+ this.updateAccountLinkingModalSession({
1028
+ walletConnectUri: walletConnectData.uri,
1029
+ status: ACCOUNT_LINKING_STATUS.AWAITING_CONNECTION,
1030
+ errorMessage: ""
1031
+ });
1032
+ };
1033
+ const handleConnected = _data => {
1034
+ this.updateAccountLinkingModalSession({
1035
+ status: ACCOUNT_LINKING_STATUS.WALLET_CONNECTED,
1036
+ walletConnectUri: "",
1037
+ errorMessage: ""
1038
+ });
1039
+ };
1040
+ const handleErrored = error => {
1041
+ this.updateAccountLinkingModalSession({
1042
+ status: ACCOUNT_LINKING_STATUS.ERRORED,
1043
+ errorMessage: error.message || "Failed to connect wallet."
1044
+ });
1045
+ };
1046
+ connector.on(CONNECTOR_EVENTS.CONNECTING, handleConnecting);
1047
+ connector.on(CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, handleConnectorDataUpdated);
1048
+ connector.on(CONNECTOR_EVENTS.CONNECTED, handleConnected);
1049
+ connector.on(CONNECTOR_EVENTS.ERRORED, handleErrored);
1050
+ return () => {
1051
+ connector.removeListener(CONNECTOR_EVENTS.CONNECTING, handleConnecting);
1052
+ connector.removeListener(CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, handleConnectorDataUpdated);
1053
+ connector.removeListener(CONNECTOR_EVENTS.CONNECTED, handleConnected);
1054
+ connector.removeListener(CONNECTOR_EVENTS.ERRORED, handleErrored);
1055
+ };
1056
+ }
1057
+ clearAccountLinkingConnectorListeners() {
1058
+ if (this.removeAccountLinkingConnectorListeners) {
1059
+ this.removeAccountLinkingConnectorListeners();
1060
+ this.removeAccountLinkingConnectorListeners = null;
1061
+ }
1062
+ }
1063
+ installAccountLinkingResetOnCloseListener() {
1064
+ this.clearAccountLinkingResetOnCloseListener();
1065
+ const handleVisibility = visibility => {
1066
+ if (visibility) return;
1067
+ this.resetAccountLinkingModalSession();
1068
+ this.clearAccountLinkingResetOnCloseListener();
1069
+ };
1070
+ this.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
1071
+ this.removeAccountLinkingResetOnCloseListener = () => {
1072
+ this.removeListener(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
1073
+ };
1074
+ }
1075
+ clearAccountLinkingResetOnCloseListener() {
1076
+ if (this.removeAccountLinkingResetOnCloseListener) {
1077
+ this.removeAccountLinkingResetOnCloseListener();
1078
+ this.removeAccountLinkingResetOnCloseListener = null;
1079
+ }
1080
+ }
622
1081
  getCombinedConnectionId(authConnectionId, groupedAuthConnectionId) {
623
1082
  let id = authConnectionId;
624
1083
  if (groupedAuthConnectionId) {
@@ -1,13 +1,15 @@
1
1
  import { createElement } from 'react';
2
2
  import { WalletServicesContextProvider } from './context/WalletServicesInnerContext.js';
3
- import { Web3AuthInnerProvider, Web3AuthInnerContext } from './context/Web3AuthInnerContext.js';
3
+ import { Web3AuthInnerProvider } from './context/Web3AuthInnerContext.js';
4
+ import { Web3AuthInnerContext } from '@web3auth/no-modal/react';
4
5
 
5
6
  function Web3AuthProvider({
6
7
  config,
7
8
  initialState,
8
9
  children
9
10
  }) {
10
- const pluginChild = /*#__PURE__*/createElement(WalletServicesContextProvider, {
11
+ const SharedWalletServicesContextProvider = WalletServicesContextProvider;
12
+ const pluginChild = /*#__PURE__*/createElement(SharedWalletServicesContextProvider, {
11
13
  context: Web3AuthInnerContext
12
14
  }, children);
13
15
  return /*#__PURE__*/createElement(Web3AuthInnerProvider, {