@web3auth/no-modal 10.0.0-beta.1 → 10.0.0-beta.10

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 (307) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +2 -1
  2. package/dist/lib.cjs/base/connector/constants.js +3 -1
  3. package/dist/lib.cjs/base/constants.js +7 -0
  4. package/dist/lib.cjs/base/cookie.js +38 -0
  5. package/dist/lib.cjs/base/deserialize.js +13 -0
  6. package/dist/lib.cjs/base/errors/index.js +3 -22
  7. package/dist/lib.cjs/base/utils.js +24 -6
  8. package/dist/lib.cjs/base/wallet/index.js +2 -4
  9. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +63 -20
  10. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +13 -5
  11. package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
  12. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +7 -3
  13. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +7 -4
  14. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +43 -15
  15. package/dist/lib.cjs/connectors/utils.js +10 -0
  16. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +6 -1
  17. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +6 -2
  18. package/dist/lib.cjs/index.js +13 -9
  19. package/dist/lib.cjs/noModal.js +190 -69
  20. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +2 -2
  21. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +1 -1
  22. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +5 -0
  23. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +29 -2
  24. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +25 -3
  25. package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -0
  26. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
  27. package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
  28. package/dist/lib.cjs/react/Web3AuthProvider.js +19 -0
  29. package/dist/lib.cjs/react/{wallet-services-plugin/WalletServicesContext.js → context/WalletServicesInnerContext.js} +18 -33
  30. package/dist/lib.cjs/react/{no-modal → context}/Web3AuthInnerContext.js +37 -95
  31. package/dist/lib.cjs/react/hooks/useCheckout.js +45 -0
  32. package/dist/lib.cjs/react/hooks/useEnableMFA.js +30 -0
  33. package/dist/lib.cjs/react/hooks/useIdentityToken.js +42 -0
  34. package/dist/lib.cjs/react/hooks/useManageMFA.js +30 -0
  35. package/dist/lib.cjs/react/hooks/useSwap.js +45 -0
  36. package/dist/lib.cjs/react/hooks/useSwitchChain.js +32 -0
  37. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +45 -0
  38. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +19 -0
  39. package/dist/lib.cjs/react/hooks/useWalletUI.js +45 -0
  40. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +28 -0
  41. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +48 -0
  42. package/dist/lib.cjs/react/hooks/useWeb3AuthDisconnect.js +30 -0
  43. package/dist/lib.cjs/react/{no-modal/hooks/useWeb3Auth.js → hooks/useWeb3AuthInner.js} +9 -9
  44. package/dist/lib.cjs/react/hooks/useWeb3AuthUser.js +50 -0
  45. package/dist/lib.cjs/react/index.js +26 -9
  46. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
  47. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
  48. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
  49. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +62 -0
  50. package/dist/lib.cjs/react/solana/index.js +13 -0
  51. package/dist/lib.cjs/react/wagmi/constants.js +16 -0
  52. package/dist/lib.cjs/react/wagmi/index.js +7 -0
  53. package/dist/lib.cjs/react/wagmi/provider.js +189 -0
  54. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +4 -5
  55. package/dist/lib.cjs/types/base/connector/constants.d.ts +2 -0
  56. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +18 -16
  57. package/dist/lib.cjs/types/base/constants.d.ts +5 -0
  58. package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
  59. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +40 -12
  60. package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
  61. package/dist/lib.cjs/types/base/errors/index.d.ts +1 -2
  62. package/dist/lib.cjs/types/base/hooks/index.d.ts +3 -23
  63. package/dist/lib.cjs/types/base/index.d.ts +1 -0
  64. package/dist/lib.cjs/types/base/interfaces.d.ts +9 -4
  65. package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
  66. package/dist/lib.cjs/types/base/utils.d.ts +3 -1
  67. package/dist/lib.cjs/types/base/wallet/index.d.ts +18 -17
  68. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +5 -6
  69. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +3 -2
  70. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
  71. package/dist/lib.cjs/types/connectors/index.d.ts +1 -1
  72. package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -1
  73. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
  74. package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
  75. package/dist/lib.cjs/types/noModal.d.ts +20 -9
  76. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +2 -2
  77. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +2 -2
  78. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +3 -2
  79. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -1
  80. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -1
  81. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
  82. package/dist/lib.cjs/types/providers/index.d.ts +0 -2
  83. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
  84. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
  85. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
  86. package/dist/lib.cjs/types/react/{no-modal → context}/Web3AuthInnerContext.d.ts +1 -1
  87. package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -0
  88. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
  89. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
  90. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
  91. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
  92. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
  93. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
  94. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
  95. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
  96. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +3 -0
  97. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +9 -0
  98. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
  99. package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
  100. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
  101. package/dist/lib.cjs/types/react/index.d.ts +3 -2
  102. package/dist/lib.cjs/types/react/interfaces.d.ts +21 -0
  103. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  104. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
  105. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  106. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
  107. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
  108. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  109. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  110. package/dist/lib.cjs/types/react/wagmi/index.d.ts +1 -0
  111. package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
  112. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
  113. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  114. package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
  115. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  116. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  117. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  118. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  119. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  120. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  121. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  122. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  123. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  124. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
  125. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
  126. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  127. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  128. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  129. package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
  130. package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
  131. package/dist/lib.cjs/types/vue/index.d.ts +4 -2
  132. package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
  133. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
  134. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -0
  135. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
  136. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +10 -0
  137. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
  138. package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
  139. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  140. package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
  141. package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
  142. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
  143. package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
  144. package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +45 -86
  145. package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
  146. package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
  147. package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
  148. package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
  149. package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
  150. package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
  151. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
  152. package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
  153. package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
  154. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +61 -0
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
  157. package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  158. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
  159. package/dist/lib.cjs/vue/index.js +28 -8
  160. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
  161. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
  163. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +64 -0
  164. package/dist/lib.cjs/vue/solana/index.js +13 -0
  165. package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
  166. package/dist/lib.cjs/vue/wagmi/index.js +7 -0
  167. package/dist/lib.cjs/vue/wagmi/provider.js +244 -0
  168. package/dist/lib.esm/base/connector/baseConnector.js +6 -1
  169. package/dist/lib.esm/base/connector/constants.js +3 -1
  170. package/dist/lib.esm/base/constants.js +6 -1
  171. package/dist/lib.esm/base/cookie.js +34 -0
  172. package/dist/lib.esm/base/deserialize.js +11 -0
  173. package/dist/lib.esm/base/errors/index.js +14 -22
  174. package/dist/lib.esm/base/plugin/errors.js +2 -0
  175. package/dist/lib.esm/base/utils.js +28 -12
  176. package/dist/lib.esm/base/wallet/index.js +2 -4
  177. package/dist/lib.esm/connectors/auth-connector/authConnector.js +83 -30
  178. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -8
  179. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
  180. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -15
  181. package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
  182. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +11 -12
  183. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +13 -17
  184. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +52 -27
  185. package/dist/lib.esm/connectors/utils.js +14 -1
  186. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
  187. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +20 -25
  188. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +15 -15
  189. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
  190. package/dist/lib.esm/index.js +12 -14
  191. package/dist/lib.esm/noModal.js +217 -80
  192. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
  193. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +4 -10
  194. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +7 -9
  195. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -2
  196. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +37 -20
  197. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
  198. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +26 -3
  199. package/dist/lib.esm/providers/base-provider/baseProvider.js +7 -9
  200. package/dist/lib.esm/providers/base-provider/utils.js +3 -3
  201. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
  202. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +4 -17
  203. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
  204. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
  205. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
  206. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
  207. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  208. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
  210. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
  211. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
  212. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
  213. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
  214. package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
  215. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
  216. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
  217. package/dist/lib.esm/react/Web3AuthProvider.js +17 -0
  218. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +70 -0
  219. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +129 -0
  220. package/dist/lib.esm/react/hooks/useCheckout.js +32 -0
  221. package/dist/lib.esm/react/hooks/useEnableMFA.js +28 -0
  222. package/dist/lib.esm/react/hooks/useIdentityToken.js +40 -0
  223. package/dist/lib.esm/react/hooks/useManageMFA.js +28 -0
  224. package/dist/lib.esm/react/hooks/useSwap.js +32 -0
  225. package/dist/lib.esm/react/hooks/useSwitchChain.js +30 -0
  226. package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +32 -0
  227. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +17 -0
  228. package/dist/lib.esm/react/hooks/useWalletUI.js +32 -0
  229. package/dist/lib.esm/react/hooks/useWeb3Auth.js +26 -0
  230. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +46 -0
  231. package/dist/lib.esm/react/hooks/useWeb3AuthDisconnect.js +28 -0
  232. package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +13 -0
  233. package/dist/lib.esm/react/hooks/useWeb3AuthUser.js +48 -0
  234. package/dist/lib.esm/react/index.js +14 -5
  235. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
  236. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
  237. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
  238. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +42 -0
  239. package/dist/lib.esm/react/solana/index.js +4 -0
  240. package/dist/lib.esm/react/wagmi/constants.js +14 -0
  241. package/dist/lib.esm/react/wagmi/index.js +1 -0
  242. package/dist/lib.esm/react/wagmi/provider.js +179 -0
  243. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +71 -0
  244. package/dist/lib.esm/vue/Web3AuthProvider.js +154 -0
  245. package/dist/lib.esm/vue/composables/useCheckout.js +32 -0
  246. package/dist/lib.esm/vue/composables/useEnableMFA.js +30 -0
  247. package/dist/lib.esm/vue/composables/useIdentityToken.js +42 -0
  248. package/dist/lib.esm/vue/composables/useManageMFA.js +30 -0
  249. package/dist/lib.esm/vue/composables/useSwap.js +32 -0
  250. package/dist/lib.esm/vue/composables/useSwitchChain.js +30 -0
  251. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +32 -0
  252. package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
  253. package/dist/lib.esm/vue/composables/useWalletUI.js +32 -0
  254. package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
  255. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +48 -0
  256. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +30 -0
  257. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +11 -0
  258. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +51 -0
  259. package/dist/lib.esm/vue/index.js +15 -5
  260. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
  261. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
  262. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
  263. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +51 -0
  264. package/dist/lib.esm/vue/solana/index.js +4 -0
  265. package/dist/lib.esm/vue/wagmi/constants.js +14 -0
  266. package/dist/lib.esm/vue/wagmi/index.js +1 -0
  267. package/dist/lib.esm/vue/wagmi/provider.js +237 -0
  268. package/dist/noModal.umd.min.js +1 -1
  269. package/dist/noModal.umd.min.js.LICENSE.txt +0 -26
  270. package/package.json +79 -20
  271. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +0 -15
  272. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +0 -16
  273. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -26
  274. package/dist/lib.cjs/types/react/no-modal/hooks/index.d.ts +0 -1
  275. package/dist/lib.cjs/types/react/no-modal/hooks/useWeb3Auth.d.ts +0 -2
  276. package/dist/lib.cjs/types/react/no-modal/index.d.ts +0 -3
  277. package/dist/lib.cjs/types/react/no-modal/interfaces.d.ts +0 -15
  278. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -7
  279. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -7
  280. package/dist/lib.cjs/types/react/wallet-services-plugin/hooks/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/react/wallet-services-plugin/index.d.ts +0 -4
  282. package/dist/lib.cjs/types/react/wallet-services-plugin/interfaces.d.ts +0 -5
  283. package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
  284. package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
  285. package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
  286. package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
  287. package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
  288. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
  289. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
  290. package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
  291. package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
  292. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
  293. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +0 -197
  294. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +0 -13
  295. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +0 -24
  296. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +0 -95
  297. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +0 -14
  298. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -24
  299. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +0 -203
  300. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +0 -22
  301. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
  302. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
  303. /package/dist/lib.cjs/types/react/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  304. /package/dist/lib.cjs/types/react/{wallet-services-plugin/hooks → hooks}/useWalletServicesPlugin.d.ts +0 -0
  305. /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  306. /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
  307. /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
@@ -2,19 +2,17 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { cloneDeep, BUTTON_POSITION, CONFIRMATION_STRATEGY, CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
4
4
  import { SecurePubSub } from '@toruslabs/secure-pub-sub';
5
- import { BUILD_ENV, UX_MODE, Auth, SDK_MODE, SUPPORTED_KEY_CURVES, randomId, createHandler, PopupHandler } from '@web3auth/auth';
5
+ import { BUILD_ENV, UX_MODE, Auth, SDK_MODE, SUPPORTED_KEY_CURVES, randomId, createHandler, PopupHandler, getUserId } from '@web3auth/auth';
6
6
  import deepmerge from 'deepmerge';
7
- import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
7
+ import { parseToken } from '../utils.js';
8
+ import '@toruslabs/constants';
9
+ import '@toruslabs/http-helpers';
8
10
  import { BaseConnector } from '../../base/connector/baseConnector.js';
11
+ import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
12
+ import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
9
13
  import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
10
- import 'jwt-decode';
11
14
  import { WalletInitializationError, WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
12
15
  import { log } from '../../base/loglevel.js';
13
- import '../../base/plugin/errors.js';
14
- import '../../base/plugin/IPlugin.js';
15
- import '@toruslabs/constants';
16
- import '@toruslabs/http-helpers';
17
- import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
18
16
 
19
17
  class AuthConnector extends BaseConnector {
20
18
  constructor(params) {
@@ -32,6 +30,7 @@ class AuthConnector extends BaseConnector {
32
30
  _defineProperty(this, "wsSettings", void 0);
33
31
  _defineProperty(this, "wsEmbedInstance", null);
34
32
  _defineProperty(this, "authConnectionConfig", []);
33
+ _defineProperty(this, "wsEmbedInstancePromise", null);
35
34
  this.authOptions = params.connectorSettings;
36
35
  this.loginSettings = params.loginSettings || {
37
36
  authConnection: ""
@@ -71,7 +70,7 @@ class AuthConnector extends BaseConnector {
71
70
  const isRedirectResult = this.authOptions.uxMode === UX_MODE.REDIRECT;
72
71
  this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
73
72
  replaceUrlOnRedirect: isRedirectResult,
74
- useCoreKitKey: this.coreOptions.useCoreKitKey
73
+ useCoreKitKey: this.coreOptions.useSFAKey
75
74
  });
76
75
  this.authInstance = new Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
77
76
  clientId: this.coreOptions.clientId,
@@ -80,7 +79,10 @@ class AuthConnector extends BaseConnector {
80
79
  authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault)
81
80
  }));
82
81
  log.debug("initializing auth connector init", this.authOptions);
83
- await this.authInstance.init();
82
+
83
+ // making it async here to initialize provider.
84
+ const authInstancePromise = this.authInstance.init();
85
+
84
86
  // Use this for xrpl, mpc cases
85
87
  if (this.coreOptions.privateKeyProvider) {
86
88
  this.privateKeyProvider = this.coreOptions.privateKeyProvider;
@@ -99,11 +101,14 @@ class AuthConnector extends BaseConnector {
99
101
  modalZIndex: this.wsSettings.modalZIndex
100
102
  });
101
103
  const wsSupportedChains = chains.filter(x => x.chainNamespace === CHAIN_NAMESPACES.EIP155 || x.chainNamespace === CHAIN_NAMESPACES.SOLANA);
102
- await this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
104
+ this.wsEmbedInstancePromise = this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
103
105
  chains: wsSupportedChains,
104
106
  chainId,
105
107
  whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
106
- }));
108
+ })).then(() => {
109
+ this.wsEmbedInstancePromise = null;
110
+ return;
111
+ });
107
112
  break;
108
113
  }
109
114
  case CHAIN_NAMESPACES.XRPL:
@@ -122,10 +127,13 @@ class AuthConnector extends BaseConnector {
122
127
  }
123
128
  }
124
129
  }
130
+
131
+ // wait for auth instance to be ready.
132
+ log.debug("initializing auth connector");
133
+ await authInstancePromise;
125
134
  this.status = CONNECTOR_STATUS.READY;
126
135
  this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.AUTH);
127
136
  try {
128
- log.debug("initializing auth connector");
129
137
  const {
130
138
  sessionId
131
139
  } = this.authInstance || {};
@@ -135,10 +143,14 @@ class AuthConnector extends BaseConnector {
135
143
  await this.connect({
136
144
  chainId: options.chainId
137
145
  });
146
+ } else if (!sessionId && options.autoConnect) {
147
+ // if here, this means that the connector is cached but the sessionId is not available.
148
+ // this can happen if the sessionId has expired.
149
+ // we are throwing an error to reset the cached state.
150
+ throw WalletLoginError.connectionError("Failed to rehydrate");
138
151
  }
139
152
  } catch (error) {
140
- log.error("Failed to connect with cached auth provider", error);
141
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
153
+ this.emit(CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
142
154
  }
143
155
  }
144
156
  async connect(params) {
@@ -151,12 +163,12 @@ class AuthConnector extends BaseConnector {
151
163
  await this.connectWithProvider(params);
152
164
  return this.provider;
153
165
  } catch (error) {
154
- var _error$message;
166
+ var _message;
155
167
  log.error("Failed to connect with auth provider", error);
156
168
  // ready again to be connected
157
169
  this.status = CONNECTOR_STATUS.READY;
158
170
  this.emit(CONNECTOR_EVENTS.ERRORED, error);
159
- if (error !== null && error !== void 0 && (_error$message = error.message) !== null && _error$message !== void 0 && _error$message.includes("user closed popup")) {
171
+ if (error !== null && error !== void 0 && (_message = error.message) !== null && _message !== void 0 && _message.includes("user closed popup")) {
160
172
  throw WalletLoginError.popupClosed();
161
173
  } else if (error instanceof Web3AuthError) {
162
174
  throw error;
@@ -170,7 +182,9 @@ class AuthConnector extends BaseConnector {
170
182
  if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
171
183
  if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
172
184
  try {
173
- await this.authInstance.enableMFA(params);
185
+ const result = await this.authInstance.enableMFA(params);
186
+ // In redirect mode, the result is not available immediately, so we emit the event when the result is available.
187
+ if (result) this.emit(CONNECTOR_EVENTS.MFA_ENABLED, result);
174
188
  } catch (error) {
175
189
  log.error("Failed to enable MFA with auth provider", error);
176
190
  if (error instanceof Web3AuthError) {
@@ -227,6 +241,7 @@ class AuthConnector extends BaseConnector {
227
241
  const userInfo = this.authInstance.getUserInfo();
228
242
  return userInfo;
229
243
  }
244
+
230
245
  // we don't support switching between different namespaces, except for solana and evm
231
246
  async switchChain(params, init = false) {
232
247
  super.checkSwitchChainRequirements(params, init);
@@ -243,6 +258,7 @@ class AuthConnector extends BaseConnector {
243
258
  const {
244
259
  chainNamespace: newNamespace
245
260
  } = this.getChain(newChainId);
261
+
246
262
  // skip if chainId is the same
247
263
  if (currentChainId === newChainId) return;
248
264
  if (currentNamespace === CHAIN_NAMESPACES.SOLANA || currentNamespace === CHAIN_NAMESPACES.EIP155) {
@@ -263,19 +279,26 @@ class AuthConnector extends BaseConnector {
263
279
  await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
264
280
  }
265
281
  }
282
+ async cleanup() {
283
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
284
+ await this.authInstance.cleanup();
285
+ if (this.wsEmbedInstance) {
286
+ this.wsEmbedInstance.clearInit();
287
+ }
288
+ }
266
289
  getChain(chainId) {
267
290
  return this.coreOptions.chains.find(x => x.chainId === chainId);
268
291
  }
269
292
  _getFinalPrivKey() {
270
293
  if (!this.authInstance) return "";
271
294
  let finalPrivKey = this.authInstance.privKey;
272
- // coreKitKey is available only for custom verifiers by default
273
- if (this.coreOptions.useCoreKitKey) {
295
+ // coreKitKey is available only for custom connections by default
296
+ if (this.coreOptions.useSFAKey) {
274
297
  // this is to check if the user has already logged in but coreKitKey is not available.
275
- // when useCoreKitKey is set to true.
298
+ // when useSFAKey is set to true.
276
299
  // This is to ensure that when there is no user session active, we don't throw an exception.
277
300
  if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
278
- throw WalletLoginError.coreKitKeyNotFound();
301
+ throw WalletLoginError.sfaKeyNotFound();
279
302
  }
280
303
  finalPrivKey = this.authInstance.coreKitKey;
281
304
  }
@@ -289,8 +312,12 @@ class AuthConnector extends BaseConnector {
289
312
  const {
290
313
  chainNamespace
291
314
  } = chainConfig;
315
+
292
316
  // if not logged in then login
293
317
  const keyAvailable = chainNamespace === CHAIN_NAMESPACES.EIP155 || chainNamespace === CHAIN_NAMESPACES.SOLANA ? (_this$authInstance = this.authInstance) === null || _this$authInstance === void 0 ? void 0 : _this$authInstance.sessionId : this._getFinalPrivKey();
318
+ if (params.idToken) params.extraLoginOptions = _objectSpread(_objectSpread({}, params.extraLoginOptions), {}, {
319
+ id_token: params.idToken
320
+ });
294
321
  if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
295
322
  var _params$extraLoginOpt2;
296
323
  // always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
@@ -302,8 +329,11 @@ class AuthConnector extends BaseConnector {
302
329
  await this.connectWithSocialLogin(loginParams);
303
330
  }
304
331
  }
332
+
305
333
  // setup WS embed if chainNamespace is EIP155 or SOLANA
306
334
  if (chainNamespace === CHAIN_NAMESPACES.EIP155 || chainNamespace === CHAIN_NAMESPACES.SOLANA) {
335
+ // wait for ws embed instance to be ready.
336
+ if (this.wsEmbedInstancePromise) await this.wsEmbedInstancePromise;
307
337
  const {
308
338
  sessionId,
309
339
  sessionNamespace
@@ -352,19 +382,20 @@ class AuthConnector extends BaseConnector {
352
382
  });
353
383
  if (!(providerConfig !== null && providerConfig !== void 0 && providerConfig.authConnection)) throw WalletLoginError.connectionError("Invalid auth connection.");
354
384
  const jwtParams = _objectSpread(_objectSpread(_objectSpread({}, providerConfig.jwtParameters || {}), params.extraLoginOptions || {}), {}, {
355
- login_hint: params.login_hint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
385
+ login_hint: params.loginHint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
356
386
  });
357
387
  const nonce = randomId();
388
+
358
389
  // post a message to the auth provider to indicate that login has been initiated.
359
390
  const loginParams = cloneDeep(params);
360
391
  loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
361
- login_hint: params.login_hint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
392
+ login_hint: params.loginHint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
362
393
  });
363
394
  delete loginParams.chainId;
364
395
  const popupParams = {
365
396
  authConnection: params.authConnection,
366
397
  authConnectionId: providerConfig.authConnectionId,
367
- clientId: providerConfig.clientId,
398
+ clientId: providerConfig.clientId || jwtParams.client_id,
368
399
  groupedAuthConnectionId: providerConfig.groupedAuthConnectionId,
369
400
  redirect_uri: `${this.authInstance.baseUrl}/auth`,
370
401
  jwtParams,
@@ -393,6 +424,7 @@ class AuthConnector extends BaseConnector {
393
424
  this.authInstance.postLoginCancelledMessage(nonce);
394
425
  reject(error);
395
426
  });
427
+
396
428
  // this is to close the popup when the login is finished.
397
429
  const securePubSub = new SecurePubSub({
398
430
  sameIpCheck: true
@@ -424,12 +456,13 @@ class AuthConnector extends BaseConnector {
424
456
  });
425
457
  }
426
458
  connectWithJwtLogin(params) {
427
- var _params$extraLoginOpt5;
459
+ var _params$extraLoginOpt5, _params$extraLoginOpt7;
428
460
  const loginConfig = this.getOAuthProviderConfig({
429
461
  authConnection: params.authConnection,
430
462
  authConnectionId: params.authConnectionId,
431
463
  groupedAuthConnectionId: params.groupedAuthConnectionId
432
464
  });
465
+
433
466
  // throw error only when we cannot find the login config and authConnectionId is not provided in the params.
434
467
  // otherwise, we will use the params to create a new auth connection config in the auth instance.
435
468
  if (!(loginConfig !== null && loginConfig !== void 0 && loginConfig.authConnection) && !params.authConnectionId) throw WalletLoginError.connectionError("Invalid auth connection.");
@@ -441,8 +474,26 @@ class AuthConnector extends BaseConnector {
441
474
  });
442
475
  }
443
476
  const loginParams = cloneDeep(params);
444
- loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
445
- login_hint: params.login_hint || ((_params$extraLoginOpt5 = params.extraLoginOptions) === null || _params$extraLoginOpt5 === void 0 ? void 0 : _params$extraLoginOpt5.login_hint)
477
+ const finalExtraLoginOptions = _objectSpread(_objectSpread({}, (loginConfig === null || loginConfig === void 0 ? void 0 : loginConfig.jwtParameters) || {}), params.extraLoginOptions || {});
478
+ let finalUserId;
479
+ if (params.loginHint || (_params$extraLoginOpt5 = params.extraLoginOptions) !== null && _params$extraLoginOpt5 !== void 0 && _params$extraLoginOpt5.login_hint) {
480
+ var _params$extraLoginOpt6;
481
+ finalUserId = params.loginHint || ((_params$extraLoginOpt6 = params.extraLoginOptions) === null || _params$extraLoginOpt6 === void 0 ? void 0 : _params$extraLoginOpt6.login_hint);
482
+ } else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
483
+ if (typeof finalExtraLoginOptions.isUserIdCaseSensitive === "undefined") {
484
+ throw WalletInitializationError.invalidParams(`isUserIdCaseSensitive is required for this connection: ${finalExtraLoginOptions.authConnection}`);
485
+ }
486
+ const {
487
+ payload
488
+ } = parseToken(params.extraLoginOptions.id_token);
489
+ finalUserId = getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
490
+ } else {
491
+ throw WalletLoginError.connectionError("Invalid login hint or id_token");
492
+ }
493
+
494
+ // Adds the login_hint to the extraLoginOptions.
495
+ loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, finalExtraLoginOptions), {}, {
496
+ login_hint: finalUserId
446
497
  });
447
498
  delete loginParams.chainId;
448
499
  return this.authInstance.postLoginInitiatedMessage(loginParams);
@@ -491,6 +542,7 @@ const authConnector = params => {
491
542
  },
492
543
  // default settings
493
544
  connectorSettings, (params === null || params === void 0 ? void 0 : params.connectorSettings) || {}]);
545
+
494
546
  // WS settings
495
547
  const {
496
548
  enableKeyExport,
@@ -533,6 +585,7 @@ const authConnector = params => {
533
585
  enableLogging: coreOptions.enableLogging,
534
586
  enableKeyExport: enableKeyExport
535
587
  });
588
+
536
589
  // Core options
537
590
  if (coreOptions.privateKeyProvider) coreOptions.privateKeyProvider.setKeyExportFlag(isKeyExportEnabled);
538
591
  return new AuthConnector({
@@ -540,8 +593,8 @@ const authConnector = params => {
540
593
  walletServicesSettings: finalWsSettings,
541
594
  loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
542
595
  coreOptions,
543
- // TODO: check, test this and may need to send modal config here later on.!!
544
- authConnectionConfig: projectConfig.embeddedWalletAuth
596
+ authConnectionConfig: projectConfig.embeddedWalletAuth,
597
+ mfaSettings: coreOptions.mfaSettings
545
598
  });
546
599
  };
547
600
  };
@@ -1,16 +1,9 @@
1
1
  import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
2
2
  import { EVM_METHOD_TYPES } from '@web3auth/ws-embed';
3
+ import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
3
4
  import { BaseConnector } from '../../base/connector/baseConnector.js';
4
5
  import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
5
- import '@web3auth/auth';
6
- import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
7
6
  import { WalletLoginError, WalletInitializationError } from '../../base/errors/index.js';
8
- import '../../base/loglevel.js';
9
- import '../../base/plugin/errors.js';
10
- import '../../base/plugin/IPlugin.js';
11
- import '@toruslabs/constants';
12
- import '@toruslabs/http-helpers';
13
- import '../../base/wallet/index.js';
14
7
 
15
8
  class BaseEvmConnector extends BaseConnector {
16
9
  async init(_) {}
@@ -2,15 +2,8 @@ import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controller
2
2
  import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
3
3
  import { BaseConnector } from '../../base/connector/baseConnector.js';
4
4
  import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
5
- import '@web3auth/auth';
6
- import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
7
5
  import { WalletLoginError, WalletInitializationError } from '../../base/errors/index.js';
8
- import '../../base/loglevel.js';
9
- import '../../base/plugin/errors.js';
10
- import '../../base/plugin/IPlugin.js';
11
- import '@toruslabs/constants';
12
- import '@toruslabs/http-helpers';
13
- import '../../base/wallet/index.js';
6
+ import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
14
7
 
15
8
  class BaseSolanaConnector extends BaseConnector {
16
9
  async init(_) {}
@@ -1,19 +1,11 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import { createCoinbaseWalletSDK } from '@coinbase/wallet-sdk';
3
+ import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
4
4
  import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
5
- import '@web3auth/auth';
6
- import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
7
- import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
8
- import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
9
- import 'jwt-decode';
10
- import '../../base/loglevel.js';
11
- import '../../base/plugin/errors.js';
12
- import '../../base/plugin/IPlugin.js';
13
5
  import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
14
- import '@toruslabs/constants';
15
- import '@toruslabs/http-helpers';
16
- import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
6
+ import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
7
+ import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
8
+ import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
17
9
 
18
10
  class CoinbaseConnector extends BaseEvmConnector {
19
11
  constructor(connectorOptions) {
@@ -44,6 +36,9 @@ class CoinbaseConnector extends BaseEvmConnector {
44
36
  super.checkInitializationRequirements({
45
37
  chainConfig
46
38
  });
39
+ const {
40
+ createCoinbaseWalletSDK
41
+ } = await import('@coinbase/wallet-sdk');
47
42
  const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
48
43
  preference: {
49
44
  options: this.coinbaseOptions.options || "smartWalletOnly"
@@ -58,12 +53,17 @@ class CoinbaseConnector extends BaseEvmConnector {
58
53
  try {
59
54
  if (options.autoConnect) {
60
55
  this.rehydrated = true;
61
- await this.connect({
56
+ const provider = await this.connect({
62
57
  chainId: options.chainId
63
58
  });
59
+ // the connect function could fail silently as well.
60
+ if (!provider) {
61
+ this.rehydrated = false;
62
+ throw WalletLoginError.connectionError("Failed to rehydrate.");
63
+ }
64
64
  }
65
65
  } catch (error) {
66
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
66
+ this.emit(CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
67
67
  }
68
68
  }
69
69
  async connect({
@@ -102,8 +102,9 @@ class CoinbaseConnector extends BaseEvmConnector {
102
102
  } catch (error) {
103
103
  // ready again to be connected
104
104
  this.status = CONNECTOR_STATUS.READY;
105
+ // only throw error if the connector is not rehydrated.
106
+ if (!this.rehydrated) this.emit(CONNECTOR_EVENTS.ERRORED, error);
105
107
  this.rehydrated = false;
106
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
107
108
  if (error instanceof Web3AuthError) throw error;
108
109
  throw WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
109
110
  }
@@ -0,0 +1 @@
1
+ export { coinbaseConnector } from './coinbaseConnector.js';
@@ -1,16 +1,11 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
3
- import '@web3auth/auth';
4
- import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
5
- import '../../base/wallet/index.js';
6
- import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
7
- import 'jwt-decode';
8
- import { log } from '../../base/loglevel.js';
9
- import '../../base/plugin/errors.js';
10
- import '../../base/plugin/IPlugin.js';
11
2
  import { normalizeWalletName } from '../../base/utils.js';
12
3
  import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
4
+ import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
13
5
  import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
6
+ import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
7
+ import { log } from '../../base/loglevel.js';
8
+ import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
14
9
 
15
10
  class InjectedEvmConnector extends BaseEvmConnector {
16
11
  constructor(options) {
@@ -47,12 +42,16 @@ class InjectedEvmConnector extends BaseEvmConnector {
47
42
  log.debug(`initializing ${this.name} injected connector`);
48
43
  if (options.autoConnect) {
49
44
  this.rehydrated = true;
50
- await this.connect({
45
+ const provider = await this.connect({
51
46
  chainId: options.chainId
52
47
  });
48
+ if (!provider) {
49
+ this.rehydrated = false;
50
+ throw WalletLoginError.connectionError("Failed to rehydrate.");
51
+ }
53
52
  }
54
53
  } catch (error) {
55
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
54
+ this.emit(CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
56
55
  }
57
56
  }
58
57
  async connect({
@@ -97,8 +96,8 @@ class InjectedEvmConnector extends BaseEvmConnector {
97
96
  } catch (error) {
98
97
  // ready again to be connected
99
98
  this.status = CONNECTOR_STATUS.READY;
99
+ if (!this.rehydrated) this.emit(CONNECTOR_EVENTS.ERRORED, error);
100
100
  this.rehydrated = false;
101
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
102
101
  if (error instanceof Web3AuthError) throw error;
103
102
  throw WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
104
103
  }
@@ -1,21 +1,14 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { StandardConnect, StandardDisconnect } from '@wallet-standard/features';
3
+ import { BaseSolanaConnector } from '../base-solana-connector/baseSolanaConnector.js';
4
+ import { WalletStandardProvider } from '../../providers/solana-provider/providers/injectedProviders/walletStandardProvider.js';
5
+ import { getSolanaChainByChainConfig } from '../../providers/solana-provider/providers/injectedProviders/utils.js';
6
+ import { normalizeWalletName } from '../../base/utils.js';
3
7
  import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
4
- import '@web3auth/auth';
5
- import { WalletLoginError } from '../../base/errors/index.js';
6
- import '../../base/wallet/index.js';
8
+ import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
7
9
  import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
8
- import 'jwt-decode';
9
10
  import { log } from '../../base/loglevel.js';
10
- import '../../base/plugin/errors.js';
11
- import '../../base/plugin/IPlugin.js';
12
- import { normalizeWalletName } from '../../base/utils.js';
13
- import { getSolanaChainByChainConfig } from '../../providers/solana-provider/providers/injectedProviders/utils.js';
14
- import { WalletStandardProvider } from '../../providers/solana-provider/providers/injectedProviders/walletStandardProvider.js';
15
- import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
16
- import '@web3auth/ws-embed';
17
- import '@solana/web3.js';
18
- import { BaseSolanaConnector } from '../base-solana-connector/baseSolanaConnector.js';
11
+ import { WalletLoginError } from '../../base/errors/index.js';
19
12
 
20
13
  class WalletStandardConnector extends BaseSolanaConnector {
21
14
  constructor(options) {
@@ -63,13 +56,16 @@ class WalletStandardConnector extends BaseSolanaConnector {
63
56
  log.debug("initializing solana injected connector");
64
57
  if (options.autoConnect) {
65
58
  this.rehydrated = true;
66
- await this.connect({
59
+ const provider = await this.connect({
67
60
  chainId: options.chainId
68
61
  });
62
+ if (!provider) {
63
+ this.rehydrated = false;
64
+ throw WalletLoginError.connectionError("Failed to rehydrate.");
65
+ }
69
66
  }
70
67
  } catch (error) {
71
- log.error("Failed to connect with cached solana injected provider", error);
72
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
68
+ this.emit(CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
73
69
  }
74
70
  }
75
71
  async connect({
@@ -99,8 +95,8 @@ class WalletStandardConnector extends BaseSolanaConnector {
99
95
  } catch (error) {
100
96
  // ready again to be connected
101
97
  this.status = CONNECTOR_STATUS.READY;
98
+ if (!this.rehydrated) this.emit(CONNECTOR_EVENTS.ERRORED, error);
102
99
  this.rehydrated = false;
103
- this.emit(CONNECTOR_EVENTS.ERRORED, error);
104
100
  throw error;
105
101
  }
106
102
  }