@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
@@ -15,8 +15,13 @@ class Web3Auth extends noModal.Web3AuthNoModal {
15
15
  constructor(options, initialState) {
16
16
  super(options, initialState);
17
17
  _defineProperty(this, "loginModal", void 0);
18
+ _defineProperty(this, "loginMode", noModal.LOGIN_MODE.MODAL);
18
19
  _defineProperty(this, "options", void 0);
19
20
  _defineProperty(this, "modalConfig", noModal.cloneDeep(config.defaultConnectorsModalConfig));
21
+ _defineProperty(this, "removeAccountLinkingConnectorListeners", null);
22
+ _defineProperty(this, "removeAccountLinkingResetOnCloseListener", null);
23
+ _defineProperty(this, "accountLinkingPickerResolver", null);
24
+ _defineProperty(this, "removeAccountLinkingPickerCloseListener", null);
20
25
  _defineProperty(this, "onInitExternalWallets", async params => {
21
26
  if (params.externalWalletsInitialized) return;
22
27
  // initialize WC connector only as other external wallets are initialized in initModal
@@ -29,10 +34,17 @@ class Web3Auth extends noModal.Web3AuthNoModal {
29
34
  try {
30
35
  await this.connectTo(noModal.WALLET_CONNECTORS.AUTH, params.loginParams, noModal.LOGIN_MODE.MODAL);
31
36
  } catch (error) {
32
- noModal.log.error(`Error while connecting to connector: ${params.connector}`, error);
37
+ noModal.log.error("Error while connecting via social login (AUTH)", error);
33
38
  }
34
39
  });
35
40
  _defineProperty(this, "onExternalWalletLogin", async params => {
41
+ // If the modal is in account-linking picker mode, hand off the selected connector
42
+ // to the linking flow instead of running the regular login `connectTo`.
43
+ if (this.accountLinkingPickerResolver) {
44
+ const resolver = this.accountLinkingPickerResolver;
45
+ resolver(params.connector);
46
+ return;
47
+ }
36
48
  try {
37
49
  var _params$loginParams;
38
50
  const connector = this.getConnector(params.connector, (_params$loginParams = params.loginParams) === null || _params$loginParams === void 0 ? void 0 : _params$loginParams.chainNamespace);
@@ -51,8 +63,12 @@ class Web3Auth extends noModal.Web3AuthNoModal {
51
63
  }
52
64
  });
53
65
  _defineProperty(this, "onModalVisibility", async visibility => {
66
+ var _this$loginModal;
54
67
  noModal.log.debug("is login modal visible", visibility);
55
68
  this.emit(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
69
+ if ((_this$loginModal = this.loginModal) !== null && _this$loginModal !== void 0 && _this$loginModal.hasActiveAccountLinkingSession()) {
70
+ return;
71
+ }
56
72
  // handle WC session refresh
57
73
  const wcConnector = this.getConnector(noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2);
58
74
  if (wcConnector) {
@@ -79,18 +95,39 @@ class Web3Auth extends noModal.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
  noModal.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
+ noModal.log.error("Error while accepting consent", error);
108
+ }
109
+ });
110
+ _defineProperty(this, "onDeclineConsent", async () => {
111
+ try {
112
+ await this.logout();
113
+ } catch (error) {
114
+ noModal.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 = noModal.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
  noModal.log.info("modalConfig", this.modalConfig);
95
132
  }
96
133
  async init(options) {
@@ -151,8 +188,11 @@ class Web3Auth extends noModal.Web3AuthNoModal {
151
188
  onSocialLogin: this.onSocialLogin,
152
189
  onExternalWalletLogin: this.onExternalWalletLogin,
153
190
  onModalVisibility: this.onModalVisibility,
154
- onMobileVerifyConnect: this.onMobileVerifyConnect
191
+ onMobileVerifyConnect: this.onMobileVerifyConnect,
192
+ onAcceptConsent: this.onAcceptConsent,
193
+ onDeclineConsent: this.onDeclineConsent
155
194
  });
195
+ this.consentRequired = this.loginModal.consentRequired;
156
196
  await noModal.withAbort(() => this.loginModal.initModal(), signal);
157
197
  // setup common JRPC provider
158
198
  await noModal.withAbort(() => this.setupCommonJRPCProvider(), signal);
@@ -201,41 +241,179 @@ class Web3Auth extends noModal.Web3AuthNoModal {
201
241
  }
202
242
  async connect() {
203
243
  if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
204
- // if already connected return provider
205
- if (this.connectedConnectorName && noModal.CONNECTED_STATUSES.includes(this.status) && this.provider) return this.provider;
244
+ // if already connected return connection
245
+ if (noModal.CONNECTED_STATUSES.includes(this.status) && this.connection) return this.connection;
206
246
  this.loginModal.open();
207
247
  return new Promise((resolve, reject) => {
248
+ // track connection started event
249
+ const startTime = Date.now();
208
250
  // remove all listeners when promise is resolved or rejected.
209
251
  // this is to prevent memory leaks if user clicks connect button multiple times.
210
- const handleConnected = () => {
252
+ const handleCompletion = () => {
211
253
  this.removeListener(noModal.CONNECTOR_EVENTS.ERRORED, handleError);
212
254
  this.removeListener(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
213
- return resolve(this.provider);
255
+ if (this.coreOptions.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN) {
256
+ this.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
257
+ } else {
258
+ this.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleCompletion);
259
+ }
260
+ return resolve(this.connection);
261
+ };
262
+ const handleConsentAccepted = async () => {
263
+ try {
264
+ var _this$primaryConnecto;
265
+ // track connection completed event
266
+ const userInfo = await this.getUserInfo();
267
+ // TODO: correct event data
268
+ this.analytics.track(noModal.ANALYTICS_EVENTS.CONNECTION_COMPLETED, {
269
+ connector: (_this$primaryConnecto = this.primaryConnector) === null || _this$primaryConnecto === void 0 ? void 0 : _this$primaryConnecto.name,
270
+ is_mfa_enabled: userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled,
271
+ duration: Date.now() - startTime
272
+ });
273
+ } catch (error) {
274
+ noModal.log.error("Failed to track connection completed event after consent acceptance", error);
275
+ }
276
+ handleCompletion();
214
277
  };
215
278
  const handleError = err => {
216
- this.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleConnected);
217
- this.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
279
+ this.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleCompletion);
280
+ this.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
218
281
  this.removeListener(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
219
282
  return reject(err);
220
283
  };
221
284
  const handleVisibility = visibility => {
222
285
  // modal is closed but user is not connected to any wallet.
223
286
  if (!visibility && !noModal.CONNECTED_STATUSES.includes(this.status)) {
224
- this.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleConnected);
287
+ this.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleCompletion);
225
288
  this.removeListener(noModal.CONNECTOR_EVENTS.ERRORED, handleError);
226
- this.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
289
+ this.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
227
290
  return reject(new Error("User closed the modal"));
228
291
  }
229
292
  };
293
+ if (this.consentRequired) {
294
+ this.once(noModal.CONNECTOR_EVENTS.CONSENT_ACCEPTED, handleConsentAccepted);
295
+ }
230
296
  if (this.coreOptions.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN) {
231
- this.once(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleConnected);
297
+ this.once(noModal.CONNECTOR_EVENTS.AUTHORIZED, handleCompletion);
232
298
  } else {
233
- this.once(noModal.CONNECTOR_EVENTS.CONNECTED, handleConnected);
299
+ this.once(noModal.CONNECTOR_EVENTS.CONNECTED, handleCompletion);
234
300
  }
235
301
  this.once(noModal.CONNECTOR_EVENTS.ERRORED, handleError);
236
302
  this.once(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
237
303
  });
238
304
  }
305
+ async acceptConsent() {
306
+ await super.completeConsentAcceptance();
307
+ }
308
+ async switchAccount(account) {
309
+ const authConnector = this.getMainAuthConnector();
310
+ const switchResult = await authConnector.switchAccount(account, {
311
+ activeAccount: this.activeAccount,
312
+ currentChainId: this.currentChainId
313
+ });
314
+ if (!switchResult) {
315
+ return;
316
+ }
317
+ try {
318
+ var _await$this$getProjec;
319
+ const existingConnector = switchResult.kind === "external" ? this.getConnectedWalletConnector(switchResult.targetAccount) : null;
320
+ // check if the existing connector is connected and usable, then we can switch to it without re-connecting again
321
+ const isExistingConnectorConnected = Boolean(existingConnector && this.hasUsableConnectedSwitchConnector(existingConnector));
322
+ 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;
323
+ if (switchResult.kind !== "external" || isExistingConnectorConnected) {
324
+ await this.runNonWalletConnectAccountAction(switchResult.targetAccount.connector, () => super.processSwitchAccountResult(authConnector, switchResult, {
325
+ walletConnector: isExistingConnectorConnected && existingConnector ? existingConnector : undefined,
326
+ projectConfig
327
+ }), {
328
+ skipSuccessScreen: true
329
+ });
330
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
331
+ return;
332
+ }
333
+ const connectorToSwitchTo = await this.prepareAccountSwitchConnector(switchResult.targetAccount.connector, switchResult.activeChainId, projectConfig);
334
+ if (connectorToSwitchTo.name !== noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) {
335
+ await this.runNonWalletConnectAccountAction(switchResult.targetAccount.connector, () => super.processSwitchAccountResult(authConnector, switchResult, {
336
+ walletConnector: connectorToSwitchTo,
337
+ projectConfig
338
+ }), {
339
+ skipSuccessScreen: true
340
+ });
341
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
342
+ return;
343
+ }
344
+ await this.switchToWalletConnectV2Account(switchResult, connectorToSwitchTo, projectConfig);
345
+ } catch (error) {
346
+ await authConnector.trackSwitchAccountFailed(switchResult.targetAccount, error);
347
+ throw error;
348
+ }
349
+ }
350
+ async linkAccount(params) {
351
+ // Pre-flight: ensure user is connected via AUTH so we fail fast before opening the modal.
352
+ this.getMainAuthConnector();
353
+ const chainId = this.resolveLinkAccountChainId(params === null || params === void 0 ? void 0 : params.chainId);
354
+ if (!(params !== null && params !== void 0 && params.connectorName)) {
355
+ const pickedConnector = await this.pickWalletForAccountLinking(chainId);
356
+ return this.linkAccountWithChosenConnector(pickedConnector, chainId);
357
+ }
358
+ return this.linkAccountWithChosenConnector(params.connectorName, chainId);
359
+ }
360
+ startAccountLinkingModalSession(params) {
361
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
362
+ this.loginModal.startAccountLinkingSession(params);
363
+ }
364
+ updateAccountLinkingModalSession(accountLinking) {
365
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
366
+ this.loginModal.updateAccountLinkingState(accountLinking);
367
+ }
368
+ resetAccountLinkingModalSession() {
369
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
370
+ this.loginModal.resetAccountLinkingSession();
371
+ }
372
+ formatAccountLinkingErrorMessage(error) {
373
+ if (error instanceof noModal.AccountLinkingError) {
374
+ const isUnlink = error.code >= 5406 && error.code <= 5408;
375
+ return isUnlink ? `[${error.code}] Account unlinking failed` : `[${error.code}] Account linking failed`;
376
+ }
377
+ return error === null || error === void 0 ? void 0 : error.message;
378
+ }
379
+ async prepareAccountLinkingConnector(connectorName, chainId) {
380
+ const {
381
+ projectConfig
382
+ } = await this.getProjectAndWalletConfig();
383
+ const connector = await super.createLinkingWalletConnector(connectorName, chainId, projectConfig);
384
+ if (connector.name !== noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) {
385
+ return connector;
386
+ }
387
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
388
+ this.clearAccountLinkingConnectorListeners();
389
+ this.removeAccountLinkingConnectorListeners = this.subscribeToAccountLinkingConnectorEvents(connector);
390
+ this.startAccountLinkingModalSession({
391
+ connectorName,
392
+ transportConnectorName: connector.name,
393
+ chainId,
394
+ intent: interfaces.ACCOUNT_LINKING_INTENT.LINK
395
+ });
396
+ this.loginModal.open();
397
+ return connector;
398
+ }
399
+ async prepareAccountSwitchConnector(connectorName, chainId, projectConfig) {
400
+ const finalProjectConfig = projectConfig !== null && projectConfig !== void 0 ? projectConfig : (await this.getProjectAndWalletConfig()).projectConfig;
401
+ const connector = await super.createSwitchingWalletConnector(connectorName, chainId, finalProjectConfig);
402
+ if (connector.name !== noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) {
403
+ return connector;
404
+ }
405
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
406
+ this.clearAccountLinkingConnectorListeners();
407
+ this.removeAccountLinkingConnectorListeners = this.subscribeToAccountLinkingConnectorEvents(connector);
408
+ this.startAccountLinkingModalSession({
409
+ connectorName,
410
+ transportConnectorName: connector.name,
411
+ chainId,
412
+ intent: interfaces.ACCOUNT_LINKING_INTENT.SWITCH
413
+ });
414
+ this.loginModal.open();
415
+ return connector;
416
+ }
239
417
  initUIConfig(projectConfig) {
240
418
  super.initUIConfig(projectConfig);
241
419
  this.options.uiConfig = deepmerge(noModal.cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
@@ -525,7 +703,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
525
703
  await connector.init({
526
704
  autoConnect,
527
705
  chainId: initialChain.chainId,
528
- getIdentityToken: this.options.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
706
+ getAuthTokenInfo: this.options.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
529
707
  });
530
708
  // note: not adding cachedWallet to modal if it is external wallet.
531
709
  // adding it later if no in-app wallets are available.
@@ -533,7 +711,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
533
711
  var _this$modalConfig$con6, _this$options$uiConfi13, _this$options$uiConfi14, _this$options$uiConfi15;
534
712
  noModal.log.info("connectorInitResults", connectorName);
535
713
  const loginMethods = ((_this$modalConfig$con6 = this.modalConfig.connectors[connectorName]) === null || _this$modalConfig$con6 === void 0 ? void 0 : _this$modalConfig$con6.loginMethods) || {};
536
- this.loginModal.addSocialLogins(connectorName, loginMethods, ((_this$options$uiConfi13 = this.options.uiConfig) === null || _this$options$uiConfi13 === void 0 ? void 0 : _this$options$uiConfi13.loginMethodsOrder) || config$1.AUTH_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
714
+ this.loginModal.addSocialLogins(loginMethods, ((_this$options$uiConfi13 = this.options.uiConfig) === null || _this$options$uiConfi13 === void 0 ? void 0 : _this$options$uiConfi13.loginMethodsOrder) || config$1.AUTH_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
537
715
  loginGridCol: ((_this$options$uiConfi14 = this.options.uiConfig) === null || _this$options$uiConfi14 === void 0 ? void 0 : _this$options$uiConfi14.loginGridCol) || 3,
538
716
  primaryButton: ((_this$options$uiConfi15 = this.options.uiConfig) === null || _this$options$uiConfi15 === void 0 ? void 0 : _this$options$uiConfi15.primaryButton) || "socialLogin"
539
717
  }));
@@ -548,6 +726,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
548
726
  const connectorChainNamespaceMap = {};
549
727
  // we do it like this because we don't want one slow connector to delay the load of the entire external wallet section.
550
728
  externalConnectors.forEach(async connector => {
729
+ var _this$connection;
551
730
  const connectorName = connector.name;
552
731
  noModal.log.debug("init external wallet", this.cachedConnector, connectorName, connector.status);
553
732
  // a wallet can support multiple chain namespaces e.g. Phantom has EvmInjected connector and WalletStandard connector.
@@ -559,14 +738,14 @@ class Web3Auth extends noModal.Web3AuthNoModal {
559
738
  }
560
739
  // initialize connectors
561
740
  // skip initializing cached connector here as it is already being initialized in initModal before.
562
- if (connector.status === noModal.CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName) {
741
+ if (connector.status === noModal.CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName && ((_this$connection = this.connection) === null || _this$connection === void 0 ? void 0 : _this$connection.connectorName) !== connectorName) {
563
742
  try {
564
743
  this.subscribeToConnectorEvents(connector);
565
744
  const initialChain = this.getInitialChainIdForConnector(connector);
566
745
  await connector.init({
567
746
  autoConnect: this.cachedConnector === connectorName,
568
747
  chainId: initialChain.chainId,
569
- getIdentityToken: this.options.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
748
+ getAuthTokenInfo: this.options.initialAuthenticationMode === noModal.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
570
749
  });
571
750
  } catch (error) {
572
751
  noModal.log.error(error, "error while initializing connector", connectorName);
@@ -588,6 +767,283 @@ class Web3Auth extends noModal.Web3AuthNoModal {
588
767
  }
589
768
  });
590
769
  }
770
+ async switchToWalletConnectV2Account(switchResult, connectorToSwitchTo, projectConfig) {
771
+ const authConnector = this.getMainAuthConnector();
772
+ try {
773
+ await this.runWalletConnectV2AccountAction({
774
+ connector: connectorToSwitchTo,
775
+ connectParams: {
776
+ chainId: switchResult.activeChainId
777
+ },
778
+ onConnected: async connector => {
779
+ await super.processSwitchAccountResult(authConnector, switchResult, {
780
+ walletConnector: connector,
781
+ projectConfig
782
+ });
783
+ await authConnector.trackSwitchAccountCompleted(switchResult.targetAccount);
784
+ return {
785
+ result: undefined,
786
+ retainConnector: true
787
+ };
788
+ },
789
+ intent: interfaces.ACCOUNT_LINKING_INTENT.SWITCH
790
+ });
791
+ } catch (error) {
792
+ await authConnector.trackSwitchAccountFailed(switchResult.targetAccount, error);
793
+ throw error;
794
+ }
795
+ }
796
+ /**
797
+ * Runs a link/switch action for WalletConnect v2, racing connector.connect()
798
+ * against a modal-close promise to cancel and clean up the WC session if the
799
+ * user closes the modal during QR scanning.
800
+ * For synchronous connectors use {@link runNonWalletConnectAccountAction}.
801
+ */
802
+ async runWalletConnectV2AccountAction(params) {
803
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
804
+ this.clearAccountLinkingResetOnCloseListener();
805
+ let retainConnector = false;
806
+ let connectCancelled = false;
807
+ let removeConnectPhaseVisibilityListener = () => {};
808
+ const closeDuringConnectPromise = new Promise((_resolve, reject) => {
809
+ const handleVisibility = visibility => {
810
+ if (!visibility) {
811
+ connectCancelled = true;
812
+ reject(noModal.WalletLoginError.popupClosed("User closed the modal"));
813
+ }
814
+ };
815
+ this.on(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
816
+ removeConnectPhaseVisibilityListener = () => {
817
+ this.removeListener(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
818
+ };
819
+ });
820
+ const connector = params.connector;
821
+ const connectPromise = connector.connect(params.connectParams);
822
+ void connectPromise.then(async connection => {
823
+ if (!connectCancelled || !connection || !connector.connected || retainConnector) return undefined;
824
+ try {
825
+ await connector.disconnect({
826
+ cleanup: true
827
+ });
828
+ } catch (error) {
829
+ noModal.log.debug("Failed to disconnect cancelled WalletConnect connector during cleanup", error);
830
+ }
831
+ return undefined;
832
+ }).catch(() => {});
833
+ try {
834
+ const connection = await Promise.race([connectPromise, closeDuringConnectPromise]);
835
+ if (!connection) {
836
+ throw noModal.AccountLinkingError.requestFailed("Failed to connect wallet.");
837
+ }
838
+ removeConnectPhaseVisibilityListener();
839
+ this.updateAccountLinkingModalSession({
840
+ status: interfaces.ACCOUNT_LINKING_STATUS.LINKING,
841
+ intent: params.intent,
842
+ walletConnectUri: "",
843
+ errorMessage: ""
844
+ });
845
+ const {
846
+ result,
847
+ retainConnector: shouldRetainConnector = false
848
+ } = await params.onConnected(connector, connection);
849
+ retainConnector = shouldRetainConnector;
850
+ this.resetAccountLinkingModalSession();
851
+ this.loginModal.endConnectingLoader({
852
+ success: true,
853
+ successMessage: "",
854
+ skipSuccessScreen: params.intent === interfaces.ACCOUNT_LINKING_INTENT.SWITCH
855
+ });
856
+ return result;
857
+ } catch (error) {
858
+ const isPopupClosed = error instanceof noModal.Web3AuthError && error.code === 5114;
859
+ if (isPopupClosed) {
860
+ this.resetAccountLinkingModalSession();
861
+ } else {
862
+ const fallbackMessage = params.intent === interfaces.ACCOUNT_LINKING_INTENT.SWITCH ? "Failed to switch wallet." : undefined;
863
+ const errorMessage = this.formatAccountLinkingErrorMessage(error) || fallbackMessage;
864
+ this.resetAccountLinkingModalSession();
865
+ this.loginModal.endConnectingLoader({
866
+ success: false,
867
+ errorMessage
868
+ });
869
+ }
870
+ this.installAccountLinkingResetOnCloseListener();
871
+ throw error;
872
+ } finally {
873
+ removeConnectPhaseVisibilityListener();
874
+ this.clearAccountLinkingConnectorListeners();
875
+ try {
876
+ if (!retainConnector && connector.connected) {
877
+ await connector.disconnect({
878
+ cleanup: true
879
+ });
880
+ }
881
+ } catch (error) {
882
+ noModal.log.debug("Failed to disconnect WalletConnect connector during cleanup", error);
883
+ }
884
+ }
885
+ }
886
+ async linkAccountWithChosenConnector(connectorName, chainId) {
887
+ const connectorToLink = await this.prepareAccountLinkingConnector(connectorName, chainId);
888
+ if (connectorToLink.name !== noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) {
889
+ return this.runNonWalletConnectAccountAction(connectorName, () => super.linkAccountWithConnector(connectorName, chainId, connectorToLink), {
890
+ connector: connectorToLink
891
+ });
892
+ }
893
+ return this.runWalletConnectV2AccountAction({
894
+ connector: connectorToLink,
895
+ connectParams: {
896
+ chainId,
897
+ isAccountLinking: true
898
+ },
899
+ onConnected: async connector => ({
900
+ result: await super.linkAccountWithConnector(connectorName, chainId, connector)
901
+ }),
902
+ intent: interfaces.ACCOUNT_LINKING_INTENT.LINK
903
+ });
904
+ }
905
+ pickWalletForAccountLinking(chainId) {
906
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
907
+ if (this.accountLinkingPickerResolver) {
908
+ throw noModal.AccountLinkingError.requestFailed("Another account linking picker is already in progress.");
909
+ }
910
+ this.loginModal.startAccountLinkingPicker({
911
+ chainId
912
+ });
913
+ return new Promise((resolve, reject) => {
914
+ const cleanup = () => {
915
+ this.accountLinkingPickerResolver = null;
916
+ if (this.removeAccountLinkingPickerCloseListener) {
917
+ this.removeAccountLinkingPickerCloseListener();
918
+ this.removeAccountLinkingPickerCloseListener = null;
919
+ }
920
+ this.loginModal.endAccountLinkingPicker();
921
+ };
922
+ const handleVisibility = visible => {
923
+ if (visible) return;
924
+ cleanup();
925
+ reject(noModal.WalletLoginError.popupClosed("User closed the modal"));
926
+ };
927
+ this.accountLinkingPickerResolver = connector => {
928
+ cleanup();
929
+ resolve(connector);
930
+ };
931
+ this.on(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
932
+ this.removeAccountLinkingPickerCloseListener = () => {
933
+ this.removeListener(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
934
+ };
935
+ });
936
+ }
937
+ /**
938
+ * Runs a link/switch action for synchronous connectors (injected wallets, already-connected).
939
+ * Shows the connecting loader, forwards AUTHORIZING events to the modal, and
940
+ * resolves/rejects the loader on completion.
941
+ * For WalletConnect v2 use {@link runWalletConnectV2AccountAction}.
942
+ */
943
+ async runNonWalletConnectAccountAction(connectorName, fn, options = {}) {
944
+ if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
945
+ const displayName = noModal.CONNECTOR_NAMES[connectorName] || connectorName;
946
+ this.loginModal.startConnectingLoader({
947
+ connector: connectorName,
948
+ connectorName: displayName
949
+ });
950
+ // Forward the AUTHORIZING event from the linking wallet connector to the modal so we can
951
+ // swap the loader from "connecting" to "authorizing" while the user reviews the signature
952
+ // request inside their wallet.
953
+ const handleAuthorizing = () => {
954
+ var _this$loginModal2;
955
+ return (_this$loginModal2 = this.loginModal) === null || _this$loginModal2 === void 0 ? void 0 : _this$loginModal2.markLoaderAuthorizing();
956
+ };
957
+ if (options.connector) {
958
+ options.connector.on(noModal.CONNECTOR_EVENTS.AUTHORIZING, handleAuthorizing);
959
+ }
960
+ try {
961
+ const result = await fn();
962
+ this.resetAccountLinkingModalSession();
963
+ this.loginModal.endConnectingLoader({
964
+ success: true,
965
+ skipSuccessScreen: options.skipSuccessScreen
966
+ });
967
+ return result;
968
+ } catch (error) {
969
+ const message = this.formatAccountLinkingErrorMessage(error);
970
+ this.resetAccountLinkingModalSession();
971
+ this.loginModal.endConnectingLoader({
972
+ success: false,
973
+ errorMessage: message
974
+ });
975
+ throw error;
976
+ } finally {
977
+ if (options.connector) {
978
+ options.connector.removeListener(noModal.CONNECTOR_EVENTS.AUTHORIZING, handleAuthorizing);
979
+ }
980
+ }
981
+ }
982
+ subscribeToAccountLinkingConnectorEvents(connector) {
983
+ const handleConnecting = () => {
984
+ this.updateAccountLinkingModalSession({
985
+ status: interfaces.ACCOUNT_LINKING_STATUS.AWAITING_CONNECTION,
986
+ errorMessage: ""
987
+ });
988
+ };
989
+ const handleConnectorDataUpdated = connectorData => {
990
+ if (connectorData.connectorName !== noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) return;
991
+ const walletConnectData = connectorData.data;
992
+ if (!walletConnectData.uri) return;
993
+ this.updateAccountLinkingModalSession({
994
+ walletConnectUri: walletConnectData.uri,
995
+ status: interfaces.ACCOUNT_LINKING_STATUS.AWAITING_CONNECTION,
996
+ errorMessage: ""
997
+ });
998
+ };
999
+ const handleConnected = _data => {
1000
+ this.updateAccountLinkingModalSession({
1001
+ status: interfaces.ACCOUNT_LINKING_STATUS.WALLET_CONNECTED,
1002
+ walletConnectUri: "",
1003
+ errorMessage: ""
1004
+ });
1005
+ };
1006
+ const handleErrored = error => {
1007
+ this.updateAccountLinkingModalSession({
1008
+ status: interfaces.ACCOUNT_LINKING_STATUS.ERRORED,
1009
+ errorMessage: error.message || "Failed to connect wallet."
1010
+ });
1011
+ };
1012
+ connector.on(noModal.CONNECTOR_EVENTS.CONNECTING, handleConnecting);
1013
+ connector.on(noModal.CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, handleConnectorDataUpdated);
1014
+ connector.on(noModal.CONNECTOR_EVENTS.CONNECTED, handleConnected);
1015
+ connector.on(noModal.CONNECTOR_EVENTS.ERRORED, handleErrored);
1016
+ return () => {
1017
+ connector.removeListener(noModal.CONNECTOR_EVENTS.CONNECTING, handleConnecting);
1018
+ connector.removeListener(noModal.CONNECTOR_EVENTS.CONNECTOR_DATA_UPDATED, handleConnectorDataUpdated);
1019
+ connector.removeListener(noModal.CONNECTOR_EVENTS.CONNECTED, handleConnected);
1020
+ connector.removeListener(noModal.CONNECTOR_EVENTS.ERRORED, handleErrored);
1021
+ };
1022
+ }
1023
+ clearAccountLinkingConnectorListeners() {
1024
+ if (this.removeAccountLinkingConnectorListeners) {
1025
+ this.removeAccountLinkingConnectorListeners();
1026
+ this.removeAccountLinkingConnectorListeners = null;
1027
+ }
1028
+ }
1029
+ installAccountLinkingResetOnCloseListener() {
1030
+ this.clearAccountLinkingResetOnCloseListener();
1031
+ const handleVisibility = visibility => {
1032
+ if (visibility) return;
1033
+ this.resetAccountLinkingModalSession();
1034
+ this.clearAccountLinkingResetOnCloseListener();
1035
+ };
1036
+ this.on(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
1037
+ this.removeAccountLinkingResetOnCloseListener = () => {
1038
+ this.removeListener(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, handleVisibility);
1039
+ };
1040
+ }
1041
+ clearAccountLinkingResetOnCloseListener() {
1042
+ if (this.removeAccountLinkingResetOnCloseListener) {
1043
+ this.removeAccountLinkingResetOnCloseListener();
1044
+ this.removeAccountLinkingResetOnCloseListener = null;
1045
+ }
1046
+ }
591
1047
  getCombinedConnectionId(authConnectionId, groupedAuthConnectionId) {
592
1048
  let id = authConnectionId;
593
1049
  if (groupedAuthConnectionId) {
@@ -3,14 +3,16 @@
3
3
  var react = require('react');
4
4
  var WalletServicesInnerContext = require('./context/WalletServicesInnerContext.js');
5
5
  var Web3AuthInnerContext = require('./context/Web3AuthInnerContext.js');
6
+ var react$1 = require('@web3auth/no-modal/react');
6
7
 
7
8
  function Web3AuthProvider({
8
9
  config,
9
10
  initialState,
10
11
  children
11
12
  }) {
12
- const pluginChild = /*#__PURE__*/react.createElement(WalletServicesInnerContext.WalletServicesContextProvider, {
13
- context: Web3AuthInnerContext.Web3AuthInnerContext
13
+ const SharedWalletServicesContextProvider = WalletServicesInnerContext.WalletServicesContextProvider;
14
+ const pluginChild = /*#__PURE__*/react.createElement(SharedWalletServicesContextProvider, {
15
+ context: react$1.Web3AuthInnerContext
14
16
  }, children);
15
17
  return /*#__PURE__*/react.createElement(Web3AuthInnerContext.Web3AuthInnerProvider, {
16
18
  config,