@web3auth/modal 10.0.0-beta.1 → 10.0.0-beta.12

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 (271) hide show
  1. package/README.md +2 -2
  2. package/dist/lib.cjs/packages/modal/src/config.js +3 -3
  3. package/dist/lib.cjs/packages/modal/src/connectors/coinbase-connector/index.js +12 -0
  4. package/dist/lib.cjs/packages/modal/src/index.js +1 -0
  5. package/dist/lib.cjs/packages/modal/src/modalManager.js +125 -75
  6. package/dist/lib.cjs/packages/modal/src/providers/ethereum-mpc-provider/index.js +12 -0
  7. package/dist/lib.cjs/packages/modal/src/providers/xrpl-provider/index.js +12 -0
  8. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +8 -2
  9. package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +72 -0
  10. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +40 -96
  11. package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +34 -0
  12. package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +30 -0
  13. package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +42 -0
  14. package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +30 -0
  15. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +34 -0
  16. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +32 -0
  17. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +34 -0
  18. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +13 -0
  19. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +34 -0
  20. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
  21. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +63 -0
  22. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +30 -0
  23. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +15 -0
  24. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +50 -0
  25. package/dist/lib.cjs/packages/modal/src/react/index.js +24 -3
  26. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +36 -0
  27. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +37 -0
  28. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +36 -0
  29. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +43 -0
  30. package/dist/lib.cjs/packages/modal/src/react/solana/index.js +13 -0
  31. package/dist/lib.cjs/packages/modal/src/react/wagmi/constants.js +16 -0
  32. package/dist/lib.cjs/packages/modal/src/react/wagmi/index.js +7 -0
  33. package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +195 -0
  34. package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
  35. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
  36. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +12 -4
  37. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
  38. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
  39. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
  40. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
  41. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
  42. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +14 -8
  43. package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +6 -9
  44. package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +5 -4
  45. package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +1 -1
  46. package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +80 -42
  47. package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
  48. package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +10 -5
  49. package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +1 -1
  50. package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
  51. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +185 -128
  52. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +15 -34
  53. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +16 -3
  54. package/dist/lib.cjs/packages/modal/src/ui/config.js +2 -1
  55. package/dist/lib.cjs/packages/modal/src/ui/constants.js +30 -0
  56. package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +12 -3
  57. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
  58. package/dist/lib.cjs/packages/modal/src/ui/handlers/AbstractHandler.js +6 -2
  59. package/dist/lib.cjs/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
  60. package/dist/lib.cjs/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
  61. package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +32 -31
  62. package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +32 -31
  63. package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +32 -31
  64. package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +32 -31
  65. package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +32 -31
  66. package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +32 -31
  67. package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
  68. package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
  69. package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +32 -31
  70. package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +32 -31
  71. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +33 -20
  72. package/dist/lib.cjs/packages/modal/src/ui/utils.js +16 -4
  73. package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +70 -0
  74. package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +38 -78
  75. package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +34 -0
  76. package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +32 -0
  77. package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +44 -0
  78. package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +32 -0
  79. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +34 -0
  80. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +32 -0
  81. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +34 -0
  82. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +13 -0
  83. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +34 -0
  84. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
  85. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +66 -0
  86. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +32 -0
  87. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +12 -0
  88. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +53 -0
  89. package/dist/lib.cjs/packages/modal/src/vue/index.js +24 -0
  90. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +36 -0
  91. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +38 -0
  92. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +36 -0
  93. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +53 -0
  94. package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +13 -0
  95. package/dist/lib.cjs/packages/modal/src/vue/wagmi/constants.js +16 -0
  96. package/dist/lib.cjs/packages/modal/src/vue/wagmi/index.js +7 -0
  97. package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +233 -0
  98. package/dist/lib.cjs/types/config.d.ts +1 -0
  99. package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
  100. package/dist/lib.cjs/types/interface.d.ts +2 -3
  101. package/dist/lib.cjs/types/modalManager.d.ts +7 -3
  102. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  103. package/dist/lib.cjs/types/providers/xrpl-provider/index.d.ts +1 -0
  104. package/dist/lib.cjs/types/react/Web3AuthProvider.d.ts +1 -1
  105. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
  106. package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -1
  107. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
  108. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
  109. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
  110. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
  111. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
  112. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
  113. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
  114. package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +2 -0
  115. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
  116. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +2 -1
  117. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +10 -0
  118. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
  119. package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
  120. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
  121. package/dist/lib.cjs/types/react/index.d.ts +0 -1
  122. package/dist/lib.cjs/types/react/interfaces.d.ts +7 -2
  123. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  124. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +8 -0
  125. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  126. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +13 -0
  127. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
  128. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  129. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  130. package/dist/lib.cjs/types/react/wagmi/index.d.ts +2 -0
  131. package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
  132. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
  133. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +1 -0
  134. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +3 -4
  135. package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +2 -2
  136. package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.type.d.ts +3 -2
  137. package/dist/lib.cjs/types/ui/config.d.ts +1 -1
  138. package/dist/lib.cjs/types/ui/constants.d.ts +4 -0
  139. package/dist/lib.cjs/types/ui/context/RootContext.d.ts +12 -3
  140. package/dist/lib.cjs/types/ui/handlers/AbstractHandler.d.ts +3 -2
  141. package/dist/lib.cjs/types/ui/handlers/EmailPasswordlessHandler.d.ts +3 -1
  142. package/dist/lib.cjs/types/ui/interfaces.d.ts +15 -7
  143. package/dist/lib.cjs/types/ui/loginModal.d.ts +1 -1
  144. package/dist/lib.cjs/types/ui/utils.d.ts +2 -2
  145. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  146. package/dist/lib.cjs/types/vue/composables/index.d.ts +12 -0
  147. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  148. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  149. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  150. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  151. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  152. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  153. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  154. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  155. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  156. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -2
  157. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +11 -0
  158. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  159. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  160. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  161. package/dist/lib.cjs/types/vue/interfaces.d.ts +10 -18
  162. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
  163. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +9 -0
  164. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
  165. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +9 -0
  166. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
  167. package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
  168. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  169. package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
  170. package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
  171. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
  172. package/dist/lib.esm/packages/modal/src/config.js +3 -4
  173. package/dist/lib.esm/packages/modal/src/connectors/coinbase-connector/index.js +1 -0
  174. package/dist/lib.esm/packages/modal/src/index.js +1 -1
  175. package/dist/lib.esm/packages/modal/src/modalManager.js +136 -76
  176. package/dist/lib.esm/packages/modal/src/providers/ethereum-mpc-provider/index.js +1 -0
  177. package/dist/lib.esm/packages/modal/src/providers/xrpl-provider/index.js +1 -0
  178. package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +9 -3
  179. package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +69 -0
  180. package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +42 -98
  181. package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +32 -0
  182. package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +28 -0
  183. package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +40 -0
  184. package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +28 -0
  185. package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +32 -0
  186. package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +30 -0
  187. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +32 -0
  188. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +11 -0
  189. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +32 -0
  190. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
  191. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +61 -0
  192. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +28 -0
  193. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +13 -0
  194. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +48 -0
  195. package/dist/lib.esm/packages/modal/src/react/index.js +12 -1
  196. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +34 -0
  197. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +35 -0
  198. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +34 -0
  199. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +41 -0
  200. package/dist/lib.esm/packages/modal/src/react/solana/index.js +4 -0
  201. package/dist/lib.esm/packages/modal/src/react/wagmi/constants.js +14 -0
  202. package/dist/lib.esm/packages/modal/src/react/wagmi/index.js +1 -0
  203. package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +194 -0
  204. package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
  205. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
  206. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +14 -6
  207. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
  208. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
  209. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
  210. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
  211. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
  212. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +15 -9
  213. package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +6 -9
  214. package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +5 -4
  215. package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +1 -1
  216. package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +84 -42
  217. package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
  218. package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +11 -6
  219. package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +1 -1
  220. package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
  221. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +189 -131
  222. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +16 -35
  223. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +18 -4
  224. package/dist/lib.esm/packages/modal/src/ui/config.js +2 -1
  225. package/dist/lib.esm/packages/modal/src/ui/constants.js +28 -1
  226. package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +12 -3
  227. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
  228. package/dist/lib.esm/packages/modal/src/ui/handlers/AbstractHandler.js +5 -1
  229. package/dist/lib.esm/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
  230. package/dist/lib.esm/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
  231. package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +32 -31
  232. package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +32 -31
  233. package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +32 -31
  234. package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +32 -31
  235. package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +32 -31
  236. package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +32 -31
  237. package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
  238. package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
  239. package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +32 -31
  240. package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +32 -31
  241. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +35 -22
  242. package/dist/lib.esm/packages/modal/src/ui/utils.js +16 -4
  243. package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +69 -0
  244. package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +40 -79
  245. package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +32 -0
  246. package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +30 -0
  247. package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +42 -0
  248. package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +30 -0
  249. package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +32 -0
  250. package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +30 -0
  251. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +32 -0
  252. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +11 -0
  253. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +32 -0
  254. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
  255. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +64 -0
  256. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +30 -0
  257. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +10 -0
  258. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +51 -0
  259. package/dist/lib.esm/packages/modal/src/vue/index.js +12 -0
  260. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +34 -0
  261. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +36 -0
  262. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +34 -0
  263. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +51 -0
  264. package/dist/lib.esm/packages/modal/src/vue/solana/index.js +4 -0
  265. package/dist/lib.esm/packages/modal/src/vue/wagmi/constants.js +14 -0
  266. package/dist/lib.esm/packages/modal/src/vue/wagmi/index.js +1 -0
  267. package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +234 -0
  268. package/dist/modal.umd.min.js +1 -1
  269. package/dist/modal.umd.min.js.LICENSE.txt +0 -26
  270. package/package.json +91 -19
  271. package/dist/lib.cjs/types/react/context/index.d.ts +0 -1
package/README.md CHANGED
@@ -43,7 +43,7 @@ Hop on to the [Web3Auth Dashboard](https://dashboard.web3auth.io/) and create a
43
43
  Web3Auth needs to initialise as soon as your app loads up to enable the user to log in. Preferably done within a constructor, initialisation is the step where you can pass on all the configurations for Web3Auth you want. A simple integration for Ethereum blockchain will look like this:
44
44
 
45
45
  ```js
46
- import { Web3Auth } from "@web3auth/modal";
46
+ import { Web3Auth } from "web3auth";
47
47
 
48
48
  //Initialize within your constructor
49
49
  const web3auth = new Web3Auth({
@@ -54,7 +54,7 @@ const web3auth = new Web3Auth({
54
54
  },
55
55
  });
56
56
 
57
- await web3auth.initModal();
57
+ await web3auth.init();
58
58
  ```
59
59
 
60
60
  ### Login your User
@@ -2,18 +2,18 @@
2
2
 
3
3
  var noModal = require('@web3auth/no-modal');
4
4
 
5
+ const version = "10.0.0-beta.12";
5
6
  const defaultConnectorsModalConfig = {
6
7
  hideWalletDiscovery: false,
7
8
  connectors: {
8
9
  [noModal.EVM_CONNECTORS.AUTH]: {
9
10
  label: "Auth",
10
- showOnModal: true,
11
- showOnMobile: true,
12
- showOnDesktop: true
11
+ showOnModal: true
13
12
  }
14
13
  }
15
14
  };
16
15
  const walletRegistryUrl = "https://assets.web3auth.io/v1/wallet-registry.json";
17
16
 
18
17
  exports.defaultConnectorsModalConfig = defaultConnectorsModalConfig;
18
+ exports.version = version;
19
19
  exports.walletRegistryUrl = walletRegistryUrl;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var coinbaseConnector = require('@web3auth/no-modal/connectors/coinbase-connector');
4
+
5
+
6
+
7
+ Object.keys(coinbaseConnector).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return coinbaseConnector[k]; }
11
+ });
12
+ });
@@ -7,6 +7,7 @@ var noModal = require('@web3auth/no-modal');
7
7
 
8
8
 
9
9
  exports.defaultConnectorsModalConfig = config.defaultConnectorsModalConfig;
10
+ exports.version = config.version;
10
11
  exports.walletRegistryUrl = config.walletRegistryUrl;
11
12
  exports.Web3Auth = modalManager.Web3Auth;
12
13
  Object.keys(noModal).forEach(function (k) {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var auth = require('@web3auth/auth');
5
6
  var noModal = require('@web3auth/no-modal');
6
7
  var deepmerge = require('deepmerge');
7
8
  var config = require('./config.js');
@@ -11,8 +12,8 @@ var loginModal = require('./ui/loginModal.js');
11
12
  var utils = require('./ui/utils.js');
12
13
 
13
14
  class Web3Auth extends noModal.Web3AuthNoModal {
14
- constructor(options) {
15
- super(options);
15
+ constructor(options, initialState) {
16
+ super(options, initialState);
16
17
  _defineProperty(this, "loginModal", void 0);
17
18
  _defineProperty(this, "options", void 0);
18
19
  _defineProperty(this, "modalConfig", noModal.cloneDeep(config.defaultConnectorsModalConfig));
@@ -26,14 +27,14 @@ class Web3Auth extends noModal.Web3AuthNoModal {
26
27
  });
27
28
  _defineProperty(this, "onSocialLogin", async params => {
28
29
  try {
29
- await this.connectTo(params.connector, params.loginParams);
30
+ await this.connectTo(noModal.WALLET_CONNECTORS.AUTH, params.loginParams, noModal.LOGIN_MODE.MODAL);
30
31
  } catch (error) {
31
32
  noModal.log.error(`Error while connecting to connector: ${params.connector}`, error);
32
33
  }
33
34
  });
34
35
  _defineProperty(this, "onExternalWalletLogin", async params => {
35
36
  try {
36
- await this.connectTo(params.connector, params.loginParams);
37
+ await this.connectTo(params.connector, params.loginParams, noModal.LOGIN_MODE.MODAL);
37
38
  } catch (error) {
38
39
  noModal.log.error(`Error while connecting to connector: ${params.connector}`, error);
39
40
  }
@@ -41,6 +42,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
41
42
  _defineProperty(this, "onModalVisibility", async visibility => {
42
43
  noModal.log.debug("is login modal visible", visibility);
43
44
  this.emit(interfaces.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
45
+ // handle WC session refresh
44
46
  const wcConnector = this.getConnector(noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2);
45
47
  if (wcConnector) {
46
48
  const walletConnectStatus = wcConnector === null || wcConnector === void 0 ? void 0 : wcConnector.status;
@@ -62,25 +64,50 @@ class Web3Auth extends noModal.Web3AuthNoModal {
62
64
  wcConnector.status = noModal.CONNECTOR_STATUS.READY;
63
65
  }
64
66
  }
67
+ // handle MM session refresh if MM is not injected
68
+ const metamaskConnector = this.getConnector(noModal.WALLET_CONNECTORS.METAMASK);
69
+ if (metamaskConnector && !metamaskConnector.isInjected) {
70
+ const status = metamaskConnector === null || metamaskConnector === void 0 ? void 0 : metamaskConnector.status;
71
+ noModal.log.debug("trying refreshing MM session", visibility, status);
72
+ if (visibility && (status === noModal.CONNECTOR_STATUS.READY || status === noModal.CONNECTOR_STATUS.CONNECTING)) {
73
+ noModal.log.debug("refreshing MM session");
74
+ // refreshing session for MM whenever modal is opened.
75
+ try {
76
+ const initialChain = this.getInitialChainIdForConnector(metamaskConnector);
77
+ metamaskConnector.connect({
78
+ chainId: initialChain.chainId
79
+ });
80
+ } catch (error) {
81
+ noModal.log.error(`Error while connecting to MM`, error);
82
+ }
83
+ }
84
+ if (!visibility && this.status === noModal.CONNECTOR_STATUS.CONNECTED && (status === noModal.CONNECTOR_STATUS.READY || status === noModal.CONNECTOR_STATUS.CONNECTING)) {
85
+ noModal.log.debug("this stops MM connector from trying to reconnect once proposal expires");
86
+ metamaskConnector.status = noModal.CONNECTOR_STATUS.READY;
87
+ }
88
+ }
89
+ });
90
+ _defineProperty(this, "getChainNamespaces", () => {
91
+ var _this$coreOptions$cha;
92
+ return [...new Set(((_this$coreOptions$cha = this.coreOptions.chains) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.map(x => x.chainNamespace)) || [])];
65
93
  });
66
94
  this.options = _objectSpread({}, options);
67
95
  if (!this.options.uiConfig) this.options.uiConfig = {};
68
96
  if (this.options.modalConfig) this.modalConfig = this.options.modalConfig;
69
97
  noModal.log.info("modalConfig", this.modalConfig);
70
98
  }
71
- async initModal() {
72
- var _this$coreOptions$cha;
99
+ async init(options) {
100
+ const {
101
+ signal
102
+ } = options || {};
73
103
  super.checkInitRequirements();
74
104
  // get project config and wallet registry
75
105
  const {
76
106
  projectConfig,
77
107
  walletRegistry
78
108
  } = await this.getProjectAndWalletConfig();
79
- this.options.uiConfig = deepmerge(noModal.cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
80
- if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = utils.getUserLanguage(this.options.uiConfig.defaultLanguage);
81
- if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "light";
82
- this.options.uiConfig = deepmerge(projectConfig.loginModal || {}, this.options.uiConfig || {});
83
109
  // init config
110
+ this.initUIConfig(projectConfig);
84
111
  super.initAccountAbstractionConfig(projectConfig);
85
112
  super.initChainsConfig(projectConfig);
86
113
  super.initCachedConnectorAndChainId();
@@ -93,7 +120,8 @@ class Web3Auth extends noModal.Web3AuthNoModal {
93
120
  connectorListener: this,
94
121
  web3authClientId: this.options.clientId,
95
122
  web3authNetwork: this.options.web3AuthNetwork,
96
- chainNamespaces: [...new Set(((_this$coreOptions$cha = this.coreOptions.chains) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.map(x => x.chainNamespace)) || [])],
123
+ authBuildEnv: this.options.authBuildEnv,
124
+ chainNamespaces: this.getChainNamespaces(),
97
125
  walletRegistry: filteredWalletRegistry
98
126
  }), {
99
127
  onInitExternalWallets: this.onInitExternalWallets,
@@ -101,22 +129,32 @@ class Web3Auth extends noModal.Web3AuthNoModal {
101
129
  onExternalWalletLogin: this.onExternalWalletLogin,
102
130
  onModalVisibility: this.onModalVisibility
103
131
  });
104
- await this.loginModal.initModal();
132
+ await noModal.withAbort(() => this.loginModal.initModal(), signal);
105
133
  // setup common JRPC provider
106
- await this.setupCommonJRPCProvider();
134
+ await noModal.withAbort(() => this.setupCommonJRPCProvider(), signal);
107
135
  // initialize connectors
108
136
  this.on(noModal.CONNECTOR_EVENTS.CONNECTORS_UPDATED, ({
109
137
  connectors: newConnectors
110
- }) => this.initConnectors({
111
- connectors: newConnectors,
112
- projectConfig,
113
- disabledExternalWallets
114
- }));
115
- await this.loadConnectors({
116
- projectConfig
138
+ }) => {
139
+ const onAbortHandler = () => {
140
+ var _this$connectors;
141
+ noModal.log.debug("init aborted");
142
+ if (((_this$connectors = this.connectors) === null || _this$connectors === void 0 ? void 0 : _this$connectors.length) > 0) {
143
+ super.cleanup();
144
+ }
145
+ };
146
+ noModal.withAbort(() => this.initConnectors({
147
+ connectors: newConnectors,
148
+ projectConfig,
149
+ disabledExternalWallets
150
+ }), signal, onAbortHandler);
117
151
  });
152
+ await noModal.withAbort(() => super.loadConnectors({
153
+ projectConfig,
154
+ modalMode: true
155
+ }), signal);
118
156
  // initialize plugins
119
- await this.initPlugins();
157
+ await noModal.withAbort(() => super.initPlugins(), signal);
120
158
  }
121
159
  async connect() {
122
160
  if (!this.loginModal) throw noModal.WalletInitializationError.notReady("Login modal is not initialized");
@@ -177,32 +215,31 @@ class Web3Auth extends noModal.Web3AuthNoModal {
177
215
  };
178
216
  }
179
217
  async getProjectAndWalletConfig() {
180
- var _this$modalConfig;
181
- // get project config
182
- let projectConfig;
183
- try {
184
- var _this$options$account;
185
- projectConfig = await noModal.fetchProjectConfig({
186
- clientId: this.options.clientId,
187
- web3AuthNetwork: this.options.web3AuthNetwork,
188
- aaProvider: (_this$options$account = this.options.accountAbstractionConfig) === null || _this$options$account === void 0 ? void 0 : _this$options$account.smartAccountType,
189
- authBuildEnv: this.options.authBuildEnv
190
- });
191
- } catch (e) {
192
- noModal.log.error("Failed to fetch project configurations", e);
193
- throw noModal.WalletInitializationError.notReady("failed to fetch project configurations", e);
218
+ var _this$options$account, _this$modalConfig;
219
+ const [projectConfigResult, walletRegistryResult] = await Promise.allSettled([noModal.fetchProjectConfig({
220
+ clientId: this.options.clientId,
221
+ web3AuthNetwork: this.options.web3AuthNetwork,
222
+ aaProvider: (_this$options$account = this.options.accountAbstractionConfig) === null || _this$options$account === void 0 ? void 0 : _this$options$account.smartAccountType,
223
+ authBuildEnv: this.options.authBuildEnv
224
+ }), noModal.fetchWalletRegistry(config.walletRegistryUrl)]);
225
+ // handle project config result
226
+ if (projectConfigResult.status === "rejected") {
227
+ const error = await auth.serializeError(projectConfigResult.reason);
228
+ noModal.log.error("Failed to fetch project configurations", error);
229
+ throw noModal.WalletInitializationError.notReady("failed to fetch project configurations", error);
194
230
  }
195
- // get wallet registry
231
+ const projectConfig = projectConfigResult.value;
232
+ // handle wallet registry result
196
233
  let walletRegistry = {
197
234
  others: {},
198
235
  default: {}
199
236
  };
200
237
  const isExternalWalletEnabled = Boolean(projectConfig.externalWalletAuth);
201
238
  if (isExternalWalletEnabled && !((_this$modalConfig = this.modalConfig) !== null && _this$modalConfig !== void 0 && _this$modalConfig.hideWalletDiscovery)) {
202
- try {
203
- walletRegistry = await noModal.fetchWalletRegistry(config.walletRegistryUrl);
204
- } catch (e) {
205
- noModal.log.error("Failed to fetch wallet registry", e);
239
+ if (walletRegistryResult.status === "fulfilled") {
240
+ walletRegistry = walletRegistryResult.value;
241
+ } else {
242
+ noModal.log.error("Failed to fetch wallet registry", walletRegistryResult.reason);
206
243
  }
207
244
  }
208
245
  return {
@@ -210,6 +247,25 @@ class Web3Auth extends noModal.Web3AuthNoModal {
210
247
  walletRegistry
211
248
  };
212
249
  }
250
+ initUIConfig(projectConfig) {
251
+ this.options.uiConfig = deepmerge(noModal.cloneDeep(projectConfig.whitelabel || {}), this.options.uiConfig || {});
252
+ if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = utils.getUserLanguage(this.options.uiConfig.defaultLanguage);
253
+ if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "light";
254
+ this.options.uiConfig = deepmerge(projectConfig.loginModal || {}, this.options.uiConfig, {
255
+ arrayMerge: (_, sourceArray) => sourceArray
256
+ });
257
+ // merge login methods order from project config and user config, with user config taking precedence
258
+ const defaultAuthConnections = projectConfig.embeddedWalletAuth.filter(x => x.isDefault).map(x => x.authConnection);
259
+ const mergedAuthConnections = [...(this.options.uiConfig.loginMethodsOrder || []), ...defaultAuthConnections];
260
+ const loginMethodsOrder = [];
261
+ const authConnectionSet = new Set();
262
+ for (const authConnection of mergedAuthConnections) {
263
+ if (authConnectionSet.has(authConnection)) continue;
264
+ authConnectionSet.add(authConnection);
265
+ loginMethodsOrder.push(authConnection);
266
+ }
267
+ this.options.uiConfig.loginMethodsOrder = loginMethodsOrder;
268
+ }
213
269
  async initConnectors({
214
270
  connectors,
215
271
  projectConfig,
@@ -277,9 +333,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
277
333
  groupedAuthConnectionId: groupedAuthConnectionId,
278
334
  extraLoginOptions: authConnectionConfig.jwtParameters,
279
335
  isDefault: true,
280
- showOnModal: true,
281
- showOnDesktop: true,
282
- showOnMobile: true
336
+ showOnModal: true
283
337
  };
284
338
  }
285
339
  embedWalletConfigMap.set(groupedAuthConnectionId || authConnectionId, authConnectionConfig);
@@ -325,9 +379,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
325
379
  // start with the default config of connector.
326
380
  const defaultConnectorConfig = {
327
381
  label: noModal.CONNECTOR_NAMES[connectorName] || connectorName.split("-").map(config$1.capitalizeFirstLetter).join(" "),
328
- showOnModal: true,
329
- showOnMobile: true,
330
- showOnDesktop: true
382
+ showOnModal: true
331
383
  };
332
384
  this.modalConfig.connectors[connectorName] = _objectSpread(_objectSpread({}, defaultConnectorConfig), ((_this$modalConfig3 = this.modalConfig) === null || _this$modalConfig3 === void 0 || (_this$modalConfig3 = _this$modalConfig3.connectors) === null || _this$modalConfig3 === void 0 ? void 0 : _this$modalConfig3[connectorName]) || {});
333
385
  // check if connector is configured/added by user and exist in connectors map.
@@ -375,7 +427,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
375
427
  const hasExternalConnectors = connectorNames.some(connectorName => {
376
428
  var _this$getConnector, _this$modalConfig$con5;
377
429
  if (connectorName === noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2) return true;
378
- return ((_this$getConnector = this.getConnector(connectorName)) === null || _this$getConnector === void 0 ? void 0 : _this$getConnector.type) === noModal.CONNECTOR_CATEGORY.EXTERNAL && ((_this$modalConfig$con5 = this.modalConfig.connectors) === null || _this$modalConfig$con5 === void 0 ? void 0 : _this$modalConfig$con5[connectorName].showOnModal);
430
+ return ((_this$getConnector = this.getConnector(connectorName)) === null || _this$getConnector === void 0 ? void 0 : _this$getConnector.type) === noModal.CONNECTOR_CATEGORY.EXTERNAL && ((_this$modalConfig$con5 = this.modalConfig.connectors) === null || _this$modalConfig$con5 === void 0 || (_this$modalConfig$con5 = _this$modalConfig$con5[connectorName]) === null || _this$modalConfig$con5 === void 0 ? void 0 : _this$modalConfig$con5.showOnModal);
379
431
  });
380
432
  return {
381
433
  hasInAppConnectors,
@@ -389,7 +441,7 @@ class Web3Auth extends noModal.Web3AuthNoModal {
389
441
  // skip if connector is already initialized
390
442
  if (connector.status !== noModal.CONNECTOR_STATUS.NOT_READY) return;
391
443
  // only initialize a external connectors here if it is a cached connector.
392
- if (this.cachedConnector !== connectorName && connectorName !== noModal.WALLET_CONNECTORS.METAMASK && connector.type === noModal.CONNECTOR_CATEGORY.EXTERNAL) return;
444
+ if (this.cachedConnector !== connectorName && connector.type === noModal.CONNECTOR_CATEGORY.EXTERNAL) return;
393
445
  // in-app wallets or cached wallet (being connected or already connected) are initialized first.
394
446
  // if connector is configured then only initialize in app or cached connector.
395
447
  // external wallets are initialized on INIT_EXTERNAL_WALLET event.
@@ -417,13 +469,21 @@ class Web3Auth extends noModal.Web3AuthNoModal {
417
469
  }
418
470
  async initExternalConnectors(externalConnectors, options) {
419
471
  const connectorsConfig = {};
472
+ const connectorChainNamespaceMap = {};
420
473
  // we do it like this because we don't want one slow connector to delay the load of the entire external wallet section.
421
474
  externalConnectors.forEach(async connector => {
422
475
  const connectorName = connector.name;
423
476
  noModal.log.debug("init external wallet", this.cachedConnector, connectorName, connector.status);
424
- if (connector.status === noModal.CONNECTOR_STATUS.NOT_READY) {
425
- // we are not initializing cached connector here as it is already being initialized in initModal before.
426
- if (this.cachedConnector === connectorName) return;
477
+ // a wallet can support multiple chain namespaces e.g. Phantom has EvmInjected connector and WalletStandard connector.
478
+ if (!connectorChainNamespaceMap[connectorName]) connectorChainNamespaceMap[connectorName] = new Set();
479
+ if (connector.connectorNamespace === noModal.CONNECTOR_NAMESPACES.MULTICHAIN) {
480
+ this.getChainNamespaces().forEach(x => connectorChainNamespaceMap[connectorName].add(x));
481
+ } else {
482
+ connectorChainNamespaceMap[connectorName].add(connector.connectorNamespace);
483
+ }
484
+ // initialize connectors
485
+ // skip initializing cached connector here as it is already being initialized in initModal before.
486
+ if (connector.status === noModal.CONNECTOR_STATUS.NOT_READY && this.cachedConnector !== connectorName) {
427
487
  try {
428
488
  this.subscribeToConnectorEvents(connector);
429
489
  const initialChain = this.getInitialChainIdForConnector(connector);
@@ -431,33 +491,23 @@ class Web3Auth extends noModal.Web3AuthNoModal {
431
491
  autoConnect: this.cachedConnector === connectorName,
432
492
  chainId: initialChain.chainId
433
493
  });
434
- const connectorModalConfig = this.modalConfig.connectors[connectorName];
435
- connectorsConfig[connectorName] = _objectSpread(_objectSpread({}, connectorModalConfig), {}, {
436
- isInjected: connector.isInjected,
437
- icon: connector.icon
438
- });
439
- this.loginModal.addWalletLogins(connectorsConfig, {
440
- showExternalWalletsOnly: !!options.showExternalWalletsOnly,
441
- externalWalletsVisibility: !!options.externalWalletsVisibility,
442
- externalWalletsInitialized: !!options.externalWalletsInitialized
443
- });
444
494
  } catch (error) {
445
495
  noModal.log.error(error, "error while initializing connector", connectorName);
446
496
  }
447
- } else {
448
- if (connector.status === noModal.CONNECTOR_STATUS.READY || connector.status === noModal.CONNECTOR_STATUS.CONNECTING) {
449
- // we use connecting status for wallet connect
450
- const connectorModalConfig = this.modalConfig.connectors[connectorName];
451
- connectorsConfig[connectorName] = _objectSpread(_objectSpread({}, connectorModalConfig), {}, {
452
- isInjected: connector.isInjected,
453
- icon: connector.icon
454
- });
455
- this.loginModal.addWalletLogins(connectorsConfig, {
456
- showExternalWalletsOnly: !!options.showExternalWalletsOnly,
457
- externalWalletsVisibility: !!options.externalWalletsVisibility,
458
- externalWalletsInitialized: !!options.externalWalletsInitialized
459
- });
460
- }
497
+ }
498
+ // update connector config
499
+ if ([noModal.CONNECTOR_STATUS.NOT_READY, noModal.CONNECTOR_STATUS.READY, noModal.CONNECTOR_STATUS.CONNECTING].includes(connector.status)) {
500
+ const connectorModalConfig = this.modalConfig.connectors[connectorName];
501
+ connectorsConfig[connectorName] = _objectSpread(_objectSpread({}, connectorModalConfig), {}, {
502
+ isInjected: connector.isInjected,
503
+ icon: connector.icon,
504
+ chainNamespaces: Array.from(connectorChainNamespaceMap[connectorName])
505
+ });
506
+ this.loginModal.addWalletLogins(connectorsConfig, {
507
+ showExternalWalletsOnly: !!options.showExternalWalletsOnly,
508
+ externalWalletsVisibility: !!options.externalWalletsVisibility,
509
+ externalWalletsInitialized: !!options.externalWalletsInitialized
510
+ });
461
511
  }
462
512
  });
463
513
  }
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var ethereumMpcProvider = require('@web3auth/no-modal/providers/ethereum-mpc-provider');
4
+
5
+
6
+
7
+ Object.keys(ethereumMpcProvider).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return ethereumMpcProvider[k]; }
11
+ });
12
+ });
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var xrplProvider = require('@web3auth/no-modal/providers/xrpl-provider');
4
+
5
+
6
+
7
+ Object.keys(xrplProvider).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return xrplProvider[k]; }
11
+ });
12
+ });
@@ -1,15 +1,21 @@
1
1
  'use strict';
2
2
 
3
3
  var react = require('react');
4
+ var WalletServicesInnerContext = require('./context/WalletServicesInnerContext.js');
4
5
  var Web3AuthInnerContext = require('./context/Web3AuthInnerContext.js');
5
6
 
6
7
  function Web3AuthProvider({
7
8
  config,
9
+ initialState,
8
10
  children
9
11
  }) {
10
- return /*#__PURE__*/react.createElement(Web3AuthInnerContext.Web3AuthInnerProvider, {
11
- config
12
+ const pluginChild = /*#__PURE__*/react.createElement(WalletServicesInnerContext.WalletServicesContextProvider, {
13
+ context: Web3AuthInnerContext.Web3AuthInnerContext
12
14
  }, children);
15
+ return /*#__PURE__*/react.createElement(Web3AuthInnerContext.Web3AuthInnerProvider, {
16
+ config,
17
+ initialState
18
+ }, pluginChild);
13
19
  }
14
20
 
15
21
  exports.Web3AuthProvider = Web3AuthProvider;
@@ -0,0 +1,72 @@
1
+ 'use strict';
2
+
3
+ var noModal = require('@web3auth/no-modal');
4
+ var react = require('react');
5
+
6
+ const WalletServicesContext = /*#__PURE__*/react.createContext(null);
7
+ function WalletServicesContextProvider({
8
+ children,
9
+ context
10
+ }) {
11
+ const web3AuthContext = react.useContext(context);
12
+ const {
13
+ getPlugin,
14
+ isInitialized,
15
+ isConnected
16
+ } = web3AuthContext;
17
+ const [ready, setReady] = react.useState(false);
18
+ const [connecting, setConnecting] = react.useState(false);
19
+ const [walletServicesPlugin, setWalletServicesPlugin] = react.useState(null);
20
+ react.useEffect(() => {
21
+ if (isInitialized) {
22
+ const plugin = getPlugin(noModal.EVM_PLUGINS.WALLET_SERVICES);
23
+ setWalletServicesPlugin(plugin);
24
+ }
25
+ }, [isInitialized, getPlugin]);
26
+ react.useEffect(() => {
27
+ if (isConnected) {
28
+ const plugin = getPlugin(noModal.EVM_PLUGINS.WALLET_SERVICES);
29
+ setWalletServicesPlugin(plugin);
30
+ // when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
31
+ if ((plugin === null || plugin === void 0 ? void 0 : plugin.status) === noModal.CONNECTOR_STATUS.CONNECTED) setReady(true);
32
+ }
33
+ }, [isConnected, getPlugin, walletServicesPlugin]);
34
+ react.useEffect(() => {
35
+ const connectedListener = () => {
36
+ setReady(true);
37
+ setConnecting(false);
38
+ };
39
+ const disconnectedListener = () => {
40
+ setReady(false);
41
+ setConnecting(false);
42
+ };
43
+ const connectingListener = () => {
44
+ setConnecting(true);
45
+ };
46
+ if (walletServicesPlugin) {
47
+ walletServicesPlugin.on(noModal.PLUGIN_EVENTS.CONNECTED, connectedListener);
48
+ walletServicesPlugin.on(noModal.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
49
+ walletServicesPlugin.on(noModal.PLUGIN_EVENTS.CONNECTING, connectingListener);
50
+ }
51
+ return () => {
52
+ if (walletServicesPlugin) {
53
+ walletServicesPlugin.off(noModal.PLUGIN_EVENTS.CONNECTED, connectedListener);
54
+ walletServicesPlugin.off(noModal.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
55
+ walletServicesPlugin.off(noModal.PLUGIN_EVENTS.CONNECTING, connectingListener);
56
+ }
57
+ };
58
+ }, [walletServicesPlugin]);
59
+ const value = react.useMemo(() => {
60
+ return {
61
+ plugin: walletServicesPlugin,
62
+ ready,
63
+ connecting
64
+ };
65
+ }, [walletServicesPlugin, ready, connecting]);
66
+ return /*#__PURE__*/react.createElement(WalletServicesContext.Provider, {
67
+ value
68
+ }, children);
69
+ }
70
+
71
+ exports.WalletServicesContext = WalletServicesContext;
72
+ exports.WalletServicesContextProvider = WalletServicesContextProvider;