@web3auth/no-modal 10.0.0-beta.0 → 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 (325) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +3 -1
  2. package/dist/lib.cjs/base/connector/constants.js +3 -6
  3. package/dist/lib.cjs/base/constants.js +26 -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/loglevel.js +3 -0
  8. package/dist/lib.cjs/base/utils.js +50 -7
  9. package/dist/lib.cjs/base/wallet/index.js +4 -5
  10. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +64 -21
  11. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +1 -1
  12. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
  13. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +14 -6
  14. package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
  15. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +10 -4
  16. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +9 -5
  17. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +44 -16
  18. package/dist/lib.cjs/connectors/utils.js +10 -0
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +1 -1
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +7 -2
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +7 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -1
  23. package/dist/lib.cjs/index.js +44 -32
  24. package/dist/lib.cjs/noModal.js +200 -72
  25. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +3 -3
  26. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +2 -2
  27. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +5 -0
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +30 -3
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +1 -1
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +25 -3
  31. package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -0
  32. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
  33. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +1 -1
  34. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +1 -1
  35. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +1 -1
  36. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +1 -1
  37. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +1 -1
  38. package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
  39. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +1 -1
  40. package/dist/lib.cjs/react/Web3AuthProvider.js +19 -0
  41. package/dist/lib.cjs/react/{wallet-services-plugin/WalletServicesContext.js → context/WalletServicesInnerContext.js} +19 -34
  42. package/dist/lib.cjs/react/{no-modal → context}/Web3AuthInnerContext.js +38 -96
  43. package/dist/lib.cjs/react/hooks/useCheckout.js +45 -0
  44. package/dist/lib.cjs/react/hooks/useEnableMFA.js +30 -0
  45. package/dist/lib.cjs/react/hooks/useIdentityToken.js +42 -0
  46. package/dist/lib.cjs/react/hooks/useManageMFA.js +30 -0
  47. package/dist/lib.cjs/react/hooks/useSwap.js +45 -0
  48. package/dist/lib.cjs/react/hooks/useSwitchChain.js +32 -0
  49. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +45 -0
  50. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +19 -0
  51. package/dist/lib.cjs/react/hooks/useWalletUI.js +45 -0
  52. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +28 -0
  53. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +48 -0
  54. package/dist/lib.cjs/react/hooks/useWeb3AuthDisconnect.js +30 -0
  55. package/dist/lib.cjs/react/{no-modal/hooks/useWeb3Auth.js → hooks/useWeb3AuthInner.js} +9 -9
  56. package/dist/lib.cjs/react/hooks/useWeb3AuthUser.js +50 -0
  57. package/dist/lib.cjs/react/index.js +26 -9
  58. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
  59. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
  60. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
  61. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +62 -0
  62. package/dist/lib.cjs/react/solana/index.js +13 -0
  63. package/dist/lib.cjs/react/wagmi/constants.js +16 -0
  64. package/dist/lib.cjs/react/wagmi/index.js +7 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +189 -0
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +5 -5
  67. package/dist/lib.cjs/types/base/connector/constants.d.ts +2 -4
  68. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +34 -17
  69. package/dist/lib.cjs/types/base/constants.d.ts +18 -0
  70. package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
  71. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +40 -12
  72. package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
  73. package/dist/lib.cjs/types/base/errors/index.d.ts +1 -2
  74. package/dist/lib.cjs/types/base/hooks/index.d.ts +3 -23
  75. package/dist/lib.cjs/types/base/index.d.ts +2 -1
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +13 -6
  77. package/dist/lib.cjs/types/base/loglevel.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
  79. package/dist/lib.cjs/types/base/utils.d.ts +14 -2
  80. package/dist/lib.cjs/types/base/wallet/index.d.ts +18 -17
  81. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +5 -6
  82. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +4 -3
  83. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
  84. package/dist/lib.cjs/types/connectors/index.d.ts +1 -1
  85. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +1 -0
  86. package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -1
  87. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
  88. package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
  89. package/dist/lib.cjs/types/noModal.d.ts +20 -9
  90. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +2 -2
  91. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +2 -2
  92. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +3 -2
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -1
  94. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -1
  95. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
  96. package/dist/lib.cjs/types/providers/index.d.ts +0 -2
  97. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
  98. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
  99. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
  100. package/dist/lib.cjs/types/react/{no-modal → context}/Web3AuthInnerContext.d.ts +1 -1
  101. package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -0
  102. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
  103. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
  104. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
  105. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
  106. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
  107. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
  108. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
  109. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +3 -0
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +9 -0
  112. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
  113. package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
  114. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
  115. package/dist/lib.cjs/types/react/index.d.ts +3 -2
  116. package/dist/lib.cjs/types/react/interfaces.d.ts +21 -0
  117. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  118. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
  119. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  120. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
  121. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
  122. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  123. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  124. package/dist/lib.cjs/types/react/wagmi/index.d.ts +1 -0
  125. package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
  126. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
  127. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  128. package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
  129. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  130. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  131. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  132. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  134. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  135. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  136. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  137. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  138. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
  139. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
  140. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  141. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  142. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  143. package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
  144. package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
  145. package/dist/lib.cjs/types/vue/index.d.ts +4 -2
  146. package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
  147. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
  148. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -0
  149. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
  150. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +10 -0
  151. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
  152. package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
  153. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  154. package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
  155. package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
  156. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
  157. package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
  158. package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +45 -86
  159. package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
  160. package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
  161. package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
  162. package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
  163. package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
  164. package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
  165. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
  166. package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
  167. package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
  168. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
  169. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +61 -0
  170. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
  171. package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  172. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
  173. package/dist/lib.cjs/vue/index.js +28 -8
  174. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
  175. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
  176. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
  177. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +64 -0
  178. package/dist/lib.cjs/vue/solana/index.js +13 -0
  179. package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
  180. package/dist/lib.cjs/vue/wagmi/index.js +7 -0
  181. package/dist/lib.cjs/vue/wagmi/provider.js +244 -0
  182. package/dist/lib.esm/base/connector/baseConnector.js +7 -1
  183. package/dist/lib.esm/base/connector/constants.js +4 -6
  184. package/dist/lib.esm/base/constants.js +20 -0
  185. package/dist/lib.esm/base/cookie.js +34 -0
  186. package/dist/lib.esm/base/deserialize.js +11 -0
  187. package/dist/lib.esm/base/errors/index.js +14 -22
  188. package/dist/lib.esm/base/loglevel.js +3 -0
  189. package/dist/lib.esm/base/plugin/errors.js +2 -0
  190. package/dist/lib.esm/base/utils.js +53 -13
  191. package/dist/lib.esm/base/wallet/index.js +4 -5
  192. package/dist/lib.esm/connectors/auth-connector/authConnector.js +84 -31
  193. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +2 -9
  194. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
  195. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -15
  196. package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
  197. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +13 -12
  198. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +14 -17
  199. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +52 -27
  200. package/dist/lib.esm/connectors/utils.js +14 -1
  201. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
  202. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +20 -25
  203. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +15 -15
  204. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
  205. package/dist/lib.esm/index.js +14 -16
  206. package/dist/lib.esm/noModal.js +223 -79
  207. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
  208. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +4 -10
  209. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +7 -9
  210. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -2
  211. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +38 -21
  212. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
  213. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +26 -3
  214. package/dist/lib.esm/providers/base-provider/baseProvider.js +7 -9
  215. package/dist/lib.esm/providers/base-provider/utils.js +3 -3
  216. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
  217. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +5 -18
  218. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
  219. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
  220. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
  221. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
  222. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  223. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
  224. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
  225. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
  226. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
  227. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
  228. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
  229. package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
  230. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
  231. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
  232. package/dist/lib.esm/react/Web3AuthProvider.js +17 -0
  233. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +70 -0
  234. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +129 -0
  235. package/dist/lib.esm/react/hooks/useCheckout.js +32 -0
  236. package/dist/lib.esm/react/hooks/useEnableMFA.js +28 -0
  237. package/dist/lib.esm/react/hooks/useIdentityToken.js +40 -0
  238. package/dist/lib.esm/react/hooks/useManageMFA.js +28 -0
  239. package/dist/lib.esm/react/hooks/useSwap.js +32 -0
  240. package/dist/lib.esm/react/hooks/useSwitchChain.js +30 -0
  241. package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +32 -0
  242. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +17 -0
  243. package/dist/lib.esm/react/hooks/useWalletUI.js +32 -0
  244. package/dist/lib.esm/react/hooks/useWeb3Auth.js +26 -0
  245. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +46 -0
  246. package/dist/lib.esm/react/hooks/useWeb3AuthDisconnect.js +28 -0
  247. package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +13 -0
  248. package/dist/lib.esm/react/hooks/useWeb3AuthUser.js +48 -0
  249. package/dist/lib.esm/react/index.js +14 -5
  250. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
  251. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
  252. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
  253. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +42 -0
  254. package/dist/lib.esm/react/solana/index.js +4 -0
  255. package/dist/lib.esm/react/wagmi/constants.js +14 -0
  256. package/dist/lib.esm/react/wagmi/index.js +1 -0
  257. package/dist/lib.esm/react/wagmi/provider.js +179 -0
  258. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +71 -0
  259. package/dist/lib.esm/vue/Web3AuthProvider.js +154 -0
  260. package/dist/lib.esm/vue/composables/useCheckout.js +32 -0
  261. package/dist/lib.esm/vue/composables/useEnableMFA.js +30 -0
  262. package/dist/lib.esm/vue/composables/useIdentityToken.js +42 -0
  263. package/dist/lib.esm/vue/composables/useManageMFA.js +30 -0
  264. package/dist/lib.esm/vue/composables/useSwap.js +32 -0
  265. package/dist/lib.esm/vue/composables/useSwitchChain.js +30 -0
  266. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +32 -0
  267. package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
  268. package/dist/lib.esm/vue/composables/useWalletUI.js +32 -0
  269. package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
  270. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +48 -0
  271. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +30 -0
  272. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +11 -0
  273. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +51 -0
  274. package/dist/lib.esm/vue/index.js +15 -5
  275. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
  276. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
  277. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
  278. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +51 -0
  279. package/dist/lib.esm/vue/solana/index.js +4 -0
  280. package/dist/lib.esm/vue/wagmi/constants.js +14 -0
  281. package/dist/lib.esm/vue/wagmi/index.js +1 -0
  282. package/dist/lib.esm/vue/wagmi/provider.js +237 -0
  283. package/dist/noModal.umd.min.js +1 -1
  284. package/dist/noModal.umd.min.js.LICENSE.txt +0 -26
  285. package/package.json +81 -20
  286. package/dist/lib.cjs/base/chain/config.js +0 -323
  287. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +0 -15
  288. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +0 -16
  289. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -26
  290. package/dist/lib.cjs/types/base/chain/config.d.ts +0 -5
  291. package/dist/lib.cjs/types/react/no-modal/hooks/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/react/no-modal/hooks/useWeb3Auth.d.ts +0 -2
  293. package/dist/lib.cjs/types/react/no-modal/index.d.ts +0 -3
  294. package/dist/lib.cjs/types/react/no-modal/interfaces.d.ts +0 -15
  295. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -7
  296. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -7
  297. package/dist/lib.cjs/types/react/wallet-services-plugin/hooks/index.d.ts +0 -1
  298. package/dist/lib.cjs/types/react/wallet-services-plugin/index.d.ts +0 -4
  299. package/dist/lib.cjs/types/react/wallet-services-plugin/interfaces.d.ts +0 -5
  300. package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
  301. package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
  302. package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
  303. package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
  304. package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
  305. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
  306. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
  307. package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
  308. package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
  309. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
  310. package/dist/lib.esm/base/chain/config.js +0 -318
  311. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +0 -197
  312. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +0 -13
  313. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +0 -24
  314. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +0 -95
  315. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +0 -14
  316. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -24
  317. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +0 -203
  318. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +0 -22
  319. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
  320. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
  321. /package/dist/lib.cjs/types/react/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  322. /package/dist/lib.cjs/types/react/{wallet-services-plugin/hooks → hooks}/useWalletServicesPlugin.d.ts +0 -0
  323. /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  324. /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
  325. /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
@@ -13,6 +13,7 @@ class BaseConnector extends auth.SafeEventEmitter {
13
13
  super();
14
14
  _defineProperty(this, "connectorData", {});
15
15
  _defineProperty(this, "isInjected", void 0);
16
+ _defineProperty(this, "icon", void 0);
16
17
  _defineProperty(this, "coreOptions", void 0);
17
18
  _defineProperty(this, "rehydrated", false);
18
19
  this.coreOptions = options.coreOptions;
@@ -21,8 +22,9 @@ class BaseConnector extends auth.SafeEventEmitter {
21
22
  return this.status === constants.CONNECTOR_STATUS.CONNECTED;
22
23
  }
23
24
  checkConnectionRequirements() {
24
- // we reconnect without killing existing wallet connect session on calling connect again.
25
+ // we reconnect without killing existing Wallet Connect or Metamask Connect session on calling connect again.
25
26
  if (this.name === index.WALLET_CONNECTORS.WALLET_CONNECT_V2 && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
27
+ if (this.name === index.WALLET_CONNECTORS.METAMASK && !this.isInjected && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
26
28
  if (this.status === constants.CONNECTOR_STATUS.CONNECTING) throw index$1.WalletInitializationError.notReady("Already connecting");
27
29
  if (this.status === constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.connectionError("Already connected");
28
30
  if (this.status !== constants.CONNECTOR_STATUS.READY) throw index$1.WalletLoginError.connectionError("Wallet connector is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
@@ -14,18 +14,15 @@ const CONNECTOR_STATUS = {
14
14
  const CONNECTOR_EVENTS = _objectSpread(_objectSpread({}, CONNECTOR_STATUS), {}, {
15
15
  CONNECTOR_DATA_UPDATED: "connector_data_updated",
16
16
  CACHE_CLEAR: "cache_clear",
17
- CONNECTORS_UPDATED: "connectors_updated"
17
+ CONNECTORS_UPDATED: "connectors_updated",
18
+ MFA_ENABLED: "mfa_enabled",
19
+ REHYDRATION_ERROR: "rehydration_error"
18
20
  });
19
21
  const CONNECTOR_CATEGORY = {
20
22
  EXTERNAL: "external",
21
23
  IN_APP: "in_app"
22
24
  };
23
- const SMART_ACCOUNT_WALLET_SCOPE = {
24
- EMBEDDED: "embedded",
25
- ALL: "all"
26
- };
27
25
 
28
26
  exports.CONNECTOR_CATEGORY = CONNECTOR_CATEGORY;
29
27
  exports.CONNECTOR_EVENTS = CONNECTOR_EVENTS;
30
28
  exports.CONNECTOR_STATUS = CONNECTOR_STATUS;
31
- exports.SMART_ACCOUNT_WALLET_SCOPE = SMART_ACCOUNT_WALLET_SCOPE;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ const SMART_ACCOUNT_WALLET_SCOPE = {
4
+ EMBEDDED: "embedded",
5
+ ALL: "all"
6
+ };
7
+ const MODAL_SIGN_IN_METHODS = {
8
+ SOCIAL: "social",
9
+ PASSWORDLESS: "passwordless",
10
+ EXTERNAL_WALLETS: "externalWallets"
11
+ };
12
+ const WIDGET_TYPE = {
13
+ MODAL: "modal",
14
+ EMBED: "embed"
15
+ };
16
+ const WEB3AUTH_STATE_STORAGE_KEY = "Web3Auth-state";
17
+ const LOGIN_MODE = {
18
+ MODAL: "modal",
19
+ NO_MODAL: "no-modal"
20
+ };
21
+
22
+ exports.LOGIN_MODE = LOGIN_MODE;
23
+ exports.MODAL_SIGN_IN_METHODS = MODAL_SIGN_IN_METHODS;
24
+ exports.SMART_ACCOUNT_WALLET_SCOPE = SMART_ACCOUNT_WALLET_SCOPE;
25
+ exports.WEB3AUTH_STATE_STORAGE_KEY = WEB3AUTH_STATE_STORAGE_KEY;
26
+ exports.WIDGET_TYPE = WIDGET_TYPE;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var constants = require('./constants.js');
4
+ var deserialize = require('./deserialize.js');
5
+
6
+ const cookieStorage = options => ({
7
+ getItem(key) {
8
+ if (typeof window === "undefined") return null;
9
+ const value = parseCookie(document.cookie, key);
10
+ return value !== null && value !== void 0 ? value : null;
11
+ },
12
+ setItem(key, value) {
13
+ if (typeof window === "undefined") return;
14
+ let cookieString = `${key}=${value};path=/;samesite=Lax`;
15
+ if (options !== null && options !== void 0 && options.expiry && typeof options.expiry === "number") cookieString += `; expires=${new Date(Date.now() + options.expiry).toUTCString()}`;
16
+ if (process.env.NODE_ENV === "production") cookieString += "; secure";
17
+ document.cookie = cookieString;
18
+ },
19
+ removeItem(key) {
20
+ if (typeof window === "undefined") return;
21
+ document.cookie = `${key}=;max-age=-1;path=/`;
22
+ }
23
+ });
24
+ function cookieToWeb3AuthState(cookie) {
25
+ if (!cookie) return undefined;
26
+ const parsed = parseCookie(cookie, constants.WEB3AUTH_STATE_STORAGE_KEY);
27
+ if (!parsed) return undefined;
28
+ return deserialize.deserialize(parsed);
29
+ }
30
+ function parseCookie(cookie, key) {
31
+ const keyValue = cookie.split("; ").find(x => x.startsWith(`${key}=`));
32
+ if (!keyValue) return undefined;
33
+ return keyValue.substring(key.length + 1);
34
+ }
35
+
36
+ exports.cookieStorage = cookieStorage;
37
+ exports.cookieToWeb3AuthState = cookieToWeb3AuthState;
38
+ exports.parseCookie = parseCookie;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ function deserialize(value, reviver) {
4
+ return JSON.parse(value, (key, value_) => {
5
+ var _value, _value2, _reviver;
6
+ let value = value_;
7
+ if (((_value = value) === null || _value === void 0 ? void 0 : _value.__type) === "bigint") value = BigInt(value.value);
8
+ if (((_value2 = value) === null || _value2 === void 0 ? void 0 : _value2.__type) === "Map") value = new Map(value.value);
9
+ return (_reviver = void 0 ) !== null && _reviver !== void 0 ? _reviver : value;
10
+ });
11
+ }
12
+
13
+ exports.deserialize = deserialize;
@@ -3,24 +3,6 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var tsCustomError = require('ts-custom-error');
5
5
 
6
- function serializeError(args) {
7
- // Find first Error or create an "unknown" Error to keep stack trace.
8
- const index = args.findIndex(arg => arg instanceof Error);
9
- const msgIndex = args.findIndex(arg => typeof arg === "string");
10
- const apiErrorIdx = args.findIndex(arg => arg && typeof arg === "object" && "status" in arg && "type" in arg);
11
- let err;
12
- if (apiErrorIdx !== -1) {
13
- const apiError = args[apiErrorIdx];
14
- err = new Error(`${apiError.status} ${apiError.type.toString()} ${apiError.statusText}`);
15
- } else if (index !== -1) {
16
- err = args.splice(index, 1)[0];
17
- } else if (msgIndex !== -1) {
18
- err = new Error(args.splice(msgIndex, 1)[0]);
19
- } else {
20
- err = new Error("Unknown error");
21
- }
22
- return [err, args];
23
- }
24
6
  class Web3AuthError extends tsCustomError.CustomError {
25
7
  constructor(code, message, cause) {
26
8
  // takes care of stack and proto
@@ -41,7 +23,7 @@ class Web3AuthError extends tsCustomError.CustomError {
41
23
  name: this.name,
42
24
  code: this.code,
43
25
  message: this.message,
44
- cause: serializeError([this.cause])
26
+ cause: this.cause
45
27
  };
46
28
  }
47
29
  toString() {
@@ -149,7 +131,7 @@ class WalletLoginError extends Web3AuthError {
149
131
  static unsupportedOperation(extraMessage = "", cause) {
150
132
  return WalletLoginError.fromCode(5117, extraMessage, cause);
151
133
  }
152
- static coreKitKeyNotFound(extraMessage = "", cause) {
134
+ static sfaKeyNotFound(extraMessage = "", cause) {
153
135
  return WalletLoginError.fromCode(5118, extraMessage, cause);
154
136
  }
155
137
  static userNotLoggedIn(extraMessage = "", cause) {
@@ -165,7 +147,7 @@ _defineProperty(WalletLoginError, "messages", {
165
147
  5115: "User has already enabled mfa, please use the @web3auth/web3auth-web sdk for login with mfa",
166
148
  5116: "Chain config has not been added. Please add the chain config before calling switchChain",
167
149
  5117: "Unsupported operation",
168
- 5118: "useCoreKitKey flag is enabled but coreKitKey is not available",
150
+ 5118: "useSFAKey flag is enabled but SFA key is not available",
169
151
  5119: "User not logged in."
170
152
  });
171
153
  class WalletOperationsError extends Web3AuthError {
@@ -231,4 +213,3 @@ exports.WalletLoginError = WalletLoginError;
231
213
  exports.WalletOperationsError = WalletOperationsError;
232
214
  exports.WalletProviderError = WalletProviderError;
233
215
  exports.Web3AuthError = Web3AuthError;
234
- exports.serializeError = serializeError;
@@ -1,7 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var loglevelSentry = require('@toruslabs/loglevel-sentry');
3
4
  var loglevel = require('loglevel');
4
5
 
5
6
  const log = loglevel.getLogger("web3auth-logger");
7
+ const loglevelPlugin = new loglevelSentry.LoglevelSentry();
8
+ loglevelPlugin.install(log);
6
9
 
7
10
  exports.log = log;
@@ -3,8 +3,8 @@
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
4
  var constants = require('@toruslabs/constants');
5
5
  var httpHelpers = require('@toruslabs/http-helpers');
6
- require('@babel/runtime/helpers/defineProperty');
7
6
  var auth = require('@web3auth/auth');
7
+ require('@babel/runtime/helpers/defineProperty');
8
8
  require('./errors/index.js');
9
9
  require('./wallet/index.js');
10
10
  require('./connector/constants.js');
@@ -13,15 +13,22 @@ require('jwt-decode');
13
13
  const isHexStrict = hex => {
14
14
  return (typeof hex === "string" || typeof hex === "number") && /^(-)?0x[0-9a-f]*$/i.test(hex);
15
15
  };
16
- const signerHost = web3AuthNetwork => {
17
- return constants.SIGNER_MAP[web3AuthNetwork !== null && web3AuthNetwork !== void 0 ? web3AuthNetwork : auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET];
16
+ const signerHost = (web3AuthNetwork = auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, authBuildEnv = auth.BUILD_ENV.PRODUCTION) => {
17
+ if (authBuildEnv === auth.BUILD_ENV.TESTING || authBuildEnv === auth.BUILD_ENV.DEVELOPMENT) {
18
+ return "https://test-signer.web3auth.io";
19
+ }
20
+ return constants.SIGNER_MAP[web3AuthNetwork];
18
21
  };
19
- const fetchProjectConfig = async (clientId, web3AuthNetwork, aaProvider) => {
20
- // const url = new URL(`${signerHost(web3AuthNetwork)}/api/v2/configuration`);
21
- // TODO: remove this before production
22
- const url = new URL("https://test-signer.web3auth.io/api/v2/configuration");
22
+ const fetchProjectConfig = async ({
23
+ clientId,
24
+ web3AuthNetwork,
25
+ aaProvider,
26
+ authBuildEnv
27
+ }) => {
28
+ const url = new URL(`${signerHost(web3AuthNetwork, authBuildEnv)}/api/v2/configuration`);
23
29
  url.searchParams.append("project_id", clientId);
24
30
  url.searchParams.append("network", web3AuthNetwork);
31
+ if (authBuildEnv) url.searchParams.append("build_env", authBuildEnv);
25
32
  if (aaProvider) url.searchParams.append("aa_provider", aaProvider);
26
33
  const res = await httpHelpers.get(url.href);
27
34
  return res;
@@ -45,6 +52,38 @@ const normalizeWalletName = name => {
45
52
  normalizedName = normalizedName.replace(/\s/g, "-");
46
53
  return normalizedName;
47
54
  };
55
+ const fromWagmiChain = chain => {
56
+ var _chain$blockExplorers, _chain$rpcUrls$defaul;
57
+ return {
58
+ chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
59
+ chainId: `0x${chain.id.toString(16)}`,
60
+ rpcTarget: chain.rpcUrls.default.http[0],
61
+ displayName: chain.name,
62
+ blockExplorerUrl: ((_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default.url) || "",
63
+ ticker: chain.nativeCurrency.symbol,
64
+ tickerName: chain.nativeCurrency.name,
65
+ logo: "",
66
+ decimals: chain.nativeCurrency.decimals,
67
+ isTestnet: chain.testnet,
68
+ wsTarget: (_chain$rpcUrls$defaul = chain.rpcUrls.default.webSocket) === null || _chain$rpcUrls$defaul === void 0 ? void 0 : _chain$rpcUrls$defaul[0]
69
+ };
70
+ };
71
+ function withAbort(fn, signal, onAbort) {
72
+ if (!signal) return fn();
73
+ if (signal.aborted) return Promise.reject(new DOMException("Aborted", "AbortError"));
74
+ return new Promise((resolve, reject) => {
75
+ const abort = () => {
76
+ onAbort === null || onAbort === void 0 || onAbort();
77
+ reject(new DOMException("Aborted", "AbortError"));
78
+ };
79
+ signal.addEventListener("abort", abort);
80
+ return Promise.resolve().then(() => fn()).then(resolve, reject).finally(() => {
81
+ signal.removeEventListener("abort", abort);
82
+ });
83
+ });
84
+ }
85
+ const isBrowser = () => typeof window !== "undefined" && typeof document !== "undefined";
86
+ const fromViemChain = fromWagmiChain;
48
87
 
49
88
  Object.defineProperty(exports, "cloneDeep", {
50
89
  enumerable: true,
@@ -52,6 +91,10 @@ Object.defineProperty(exports, "cloneDeep", {
52
91
  });
53
92
  exports.fetchProjectConfig = fetchProjectConfig;
54
93
  exports.fetchWalletRegistry = fetchWalletRegistry;
94
+ exports.fromViemChain = fromViemChain;
95
+ exports.fromWagmiChain = fromWagmiChain;
96
+ exports.isBrowser = isBrowser;
55
97
  exports.isHexStrict = isHexStrict;
56
98
  exports.normalizeWalletName = normalizeWalletName;
57
99
  exports.signerHost = signerHost;
100
+ exports.withAbort = withAbort;
@@ -5,19 +5,18 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
5
5
  const MULTI_CHAIN_CONNECTORS = {
6
6
  AUTH: "auth",
7
7
  WALLET_CONNECT_V2: "wallet-connect-v2",
8
- SFA: "sfa"
8
+ METAMASK: "metamask"
9
9
  };
10
10
  const SOLANA_CONNECTORS = _objectSpread({}, MULTI_CHAIN_CONNECTORS);
11
11
  const EVM_CONNECTORS = _objectSpread({
12
- COINBASE: "coinbase",
13
- METAMASK: "metamask"
12
+ COINBASE: "coinbase"
14
13
  }, MULTI_CHAIN_CONNECTORS);
15
14
  const WALLET_CONNECTORS = _objectSpread(_objectSpread({}, EVM_CONNECTORS), SOLANA_CONNECTORS);
16
15
  const CONNECTOR_NAMES = {
17
16
  [MULTI_CHAIN_CONNECTORS.AUTH]: "Auth",
18
17
  [MULTI_CHAIN_CONNECTORS.WALLET_CONNECT_V2]: "Wallet Connect v2",
19
- [MULTI_CHAIN_CONNECTORS.SFA]: "SFA",
20
- [EVM_CONNECTORS.COINBASE]: "Coinbase Smart Wallet"
18
+ [EVM_CONNECTORS.COINBASE]: "Coinbase Smart Wallet",
19
+ [EVM_CONNECTORS.METAMASK]: "MetaMask"
21
20
  };
22
21
 
23
22
  exports.CONNECTOR_NAMES = CONNECTOR_NAMES;
@@ -6,17 +6,18 @@ var baseControllers = require('@toruslabs/base-controllers');
6
6
  var securePubSub = require('@toruslabs/secure-pub-sub');
7
7
  var auth = require('@web3auth/auth');
8
8
  var deepmerge = require('deepmerge');
9
- var index$1 = require('../../base/errors/index.js');
10
9
  var IChainInterface = require('../../base/chain/IChainInterface.js');
11
10
  var baseConnector = require('../../base/connector/baseConnector.js');
12
11
  var constants = require('../../base/connector/constants.js');
13
12
  require('jwt-decode');
13
+ var index$1 = require('../../base/errors/index.js');
14
14
  var loglevel = require('../../base/loglevel.js');
15
15
  require('../../base/plugin/errors.js');
16
16
  require('../../base/plugin/IPlugin.js');
17
17
  require('@toruslabs/constants');
18
18
  require('@toruslabs/http-helpers');
19
19
  var index = require('../../base/wallet/index.js');
20
+ var utils = require('../utils.js');
20
21
 
21
22
  class AuthConnector extends baseConnector.BaseConnector {
22
23
  constructor(params) {
@@ -34,6 +35,7 @@ class AuthConnector extends baseConnector.BaseConnector {
34
35
  _defineProperty(this, "wsSettings", void 0);
35
36
  _defineProperty(this, "wsEmbedInstance", null);
36
37
  _defineProperty(this, "authConnectionConfig", []);
38
+ _defineProperty(this, "wsEmbedInstancePromise", null);
37
39
  this.authOptions = params.connectorSettings;
38
40
  this.loginSettings = params.loginSettings || {
39
41
  authConnection: ""
@@ -73,7 +75,7 @@ class AuthConnector extends baseConnector.BaseConnector {
73
75
  const isRedirectResult = this.authOptions.uxMode === auth.UX_MODE.REDIRECT;
74
76
  this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
75
77
  replaceUrlOnRedirect: isRedirectResult,
76
- useCoreKitKey: this.coreOptions.useCoreKitKey
78
+ useCoreKitKey: this.coreOptions.useSFAKey
77
79
  });
78
80
  this.authInstance = new auth.Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
79
81
  clientId: this.coreOptions.clientId,
@@ -82,7 +84,8 @@ class AuthConnector extends baseConnector.BaseConnector {
82
84
  authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault)
83
85
  }));
84
86
  loglevel.log.debug("initializing auth connector init", this.authOptions);
85
- await this.authInstance.init();
87
+ // making it async here to initialize provider.
88
+ const authInstancePromise = this.authInstance.init();
86
89
  // Use this for xrpl, mpc cases
87
90
  if (this.coreOptions.privateKeyProvider) {
88
91
  this.privateKeyProvider = this.coreOptions.privateKeyProvider;
@@ -101,11 +104,14 @@ class AuthConnector extends baseConnector.BaseConnector {
101
104
  modalZIndex: this.wsSettings.modalZIndex
102
105
  });
103
106
  const wsSupportedChains = chains.filter(x => x.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || x.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA);
104
- await this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
107
+ this.wsEmbedInstancePromise = this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
105
108
  chains: wsSupportedChains,
106
109
  chainId,
107
110
  whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
108
- }));
111
+ })).then(() => {
112
+ this.wsEmbedInstancePromise = null;
113
+ return;
114
+ });
109
115
  break;
110
116
  }
111
117
  case baseControllers.CHAIN_NAMESPACES.XRPL:
@@ -124,10 +130,12 @@ class AuthConnector extends baseConnector.BaseConnector {
124
130
  }
125
131
  }
126
132
  }
133
+ // wait for auth instance to be ready.
134
+ loglevel.log.debug("initializing auth connector");
135
+ await authInstancePromise;
127
136
  this.status = constants.CONNECTOR_STATUS.READY;
128
137
  this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.AUTH);
129
138
  try {
130
- loglevel.log.debug("initializing auth connector");
131
139
  const {
132
140
  sessionId
133
141
  } = this.authInstance || {};
@@ -137,10 +145,14 @@ class AuthConnector extends baseConnector.BaseConnector {
137
145
  await this.connect({
138
146
  chainId: options.chainId
139
147
  });
148
+ } else if (!sessionId && options.autoConnect) {
149
+ // if here, this means that the connector is cached but the sessionId is not available.
150
+ // this can happen if the sessionId has expired.
151
+ // we are throwing an error to reset the cached state.
152
+ throw index$1.WalletLoginError.connectionError("Failed to rehydrate");
140
153
  }
141
154
  } catch (error) {
142
- loglevel.log.error("Failed to connect with cached auth provider", error);
143
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
155
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
144
156
  }
145
157
  }
146
158
  async connect(params) {
@@ -172,7 +184,9 @@ class AuthConnector extends baseConnector.BaseConnector {
172
184
  if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
173
185
  if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
174
186
  try {
175
- await this.authInstance.enableMFA(params);
187
+ const result = await this.authInstance.enableMFA(params);
188
+ // In redirect mode, the result is not available immediately, so we emit the event when the result is available.
189
+ if (result) this.emit(constants.CONNECTOR_EVENTS.MFA_ENABLED, result);
176
190
  } catch (error) {
177
191
  loglevel.log.error("Failed to enable MFA with auth provider", error);
178
192
  if (error instanceof index$1.Web3AuthError) {
@@ -265,19 +279,26 @@ class AuthConnector extends baseConnector.BaseConnector {
265
279
  await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
266
280
  }
267
281
  }
282
+ async cleanup() {
283
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
284
+ await this.authInstance.cleanup();
285
+ if (this.wsEmbedInstance) {
286
+ this.wsEmbedInstance.clearInit();
287
+ }
288
+ }
268
289
  getChain(chainId) {
269
290
  return this.coreOptions.chains.find(x => x.chainId === chainId);
270
291
  }
271
292
  _getFinalPrivKey() {
272
293
  if (!this.authInstance) return "";
273
294
  let finalPrivKey = this.authInstance.privKey;
274
- // coreKitKey is available only for custom verifiers by default
275
- if (this.coreOptions.useCoreKitKey) {
295
+ // coreKitKey is available only for custom connections by default
296
+ if (this.coreOptions.useSFAKey) {
276
297
  // this is to check if the user has already logged in but coreKitKey is not available.
277
- // when useCoreKitKey is set to true.
298
+ // when useSFAKey is set to true.
278
299
  // This is to ensure that when there is no user session active, we don't throw an exception.
279
300
  if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
280
- throw index$1.WalletLoginError.coreKitKeyNotFound();
301
+ throw index$1.WalletLoginError.sfaKeyNotFound();
281
302
  }
282
303
  finalPrivKey = this.authInstance.coreKitKey;
283
304
  }
@@ -293,6 +314,9 @@ class AuthConnector extends baseConnector.BaseConnector {
293
314
  } = chainConfig;
294
315
  // if not logged in then login
295
316
  const keyAvailable = chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA ? (_this$authInstance = this.authInstance) === null || _this$authInstance === void 0 ? void 0 : _this$authInstance.sessionId : this._getFinalPrivKey();
317
+ if (params.idToken) params.extraLoginOptions = _objectSpread(_objectSpread({}, params.extraLoginOptions), {}, {
318
+ id_token: params.idToken
319
+ });
296
320
  if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
297
321
  var _params$extraLoginOpt2;
298
322
  // always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
@@ -306,6 +330,8 @@ class AuthConnector extends baseConnector.BaseConnector {
306
330
  }
307
331
  // setup WS embed if chainNamespace is EIP155 or SOLANA
308
332
  if (chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
333
+ // wait for ws embed instance to be ready.
334
+ if (this.wsEmbedInstancePromise) await this.wsEmbedInstancePromise;
309
335
  const {
310
336
  sessionId,
311
337
  sessionNamespace
@@ -354,19 +380,19 @@ class AuthConnector extends baseConnector.BaseConnector {
354
380
  });
355
381
  if (!(providerConfig !== null && providerConfig !== void 0 && providerConfig.authConnection)) throw index$1.WalletLoginError.connectionError("Invalid auth connection.");
356
382
  const jwtParams = _objectSpread(_objectSpread(_objectSpread({}, providerConfig.jwtParameters || {}), params.extraLoginOptions || {}), {}, {
357
- login_hint: params.login_hint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
383
+ login_hint: params.loginHint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
358
384
  });
359
385
  const nonce = auth.randomId();
360
386
  // post a message to the auth provider to indicate that login has been initiated.
361
387
  const loginParams = baseControllers.cloneDeep(params);
362
388
  loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
363
- login_hint: params.login_hint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
389
+ login_hint: params.loginHint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
364
390
  });
365
391
  delete loginParams.chainId;
366
392
  const popupParams = {
367
393
  authConnection: params.authConnection,
368
394
  authConnectionId: providerConfig.authConnectionId,
369
- clientId: providerConfig.clientId,
395
+ clientId: providerConfig.clientId || jwtParams.client_id,
370
396
  groupedAuthConnectionId: providerConfig.groupedAuthConnectionId,
371
397
  redirect_uri: `${this.authInstance.baseUrl}/auth`,
372
398
  jwtParams,
@@ -426,7 +452,7 @@ class AuthConnector extends baseConnector.BaseConnector {
426
452
  });
427
453
  }
428
454
  connectWithJwtLogin(params) {
429
- var _params$extraLoginOpt5;
455
+ var _params$extraLoginOpt5, _params$extraLoginOpt7;
430
456
  const loginConfig = this.getOAuthProviderConfig({
431
457
  authConnection: params.authConnection,
432
458
  authConnectionId: params.authConnectionId,
@@ -443,8 +469,25 @@ class AuthConnector extends baseConnector.BaseConnector {
443
469
  });
444
470
  }
445
471
  const loginParams = baseControllers.cloneDeep(params);
446
- loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
447
- login_hint: params.login_hint || ((_params$extraLoginOpt5 = params.extraLoginOptions) === null || _params$extraLoginOpt5 === void 0 ? void 0 : _params$extraLoginOpt5.login_hint)
472
+ const finalExtraLoginOptions = _objectSpread(_objectSpread({}, (loginConfig === null || loginConfig === void 0 ? void 0 : loginConfig.jwtParameters) || {}), params.extraLoginOptions || {});
473
+ let finalUserId;
474
+ if (params.loginHint || (_params$extraLoginOpt5 = params.extraLoginOptions) !== null && _params$extraLoginOpt5 !== void 0 && _params$extraLoginOpt5.login_hint) {
475
+ var _params$extraLoginOpt6;
476
+ finalUserId = params.loginHint || ((_params$extraLoginOpt6 = params.extraLoginOptions) === null || _params$extraLoginOpt6 === void 0 ? void 0 : _params$extraLoginOpt6.login_hint);
477
+ } else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
478
+ if (typeof finalExtraLoginOptions.isUserIdCaseSensitive === "undefined") {
479
+ throw index$1.WalletInitializationError.invalidParams(`isUserIdCaseSensitive is required for this connection: ${finalExtraLoginOptions.authConnection}`);
480
+ }
481
+ const {
482
+ payload
483
+ } = utils.parseToken(params.extraLoginOptions.id_token);
484
+ finalUserId = auth.getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
485
+ } else {
486
+ throw index$1.WalletLoginError.connectionError("Invalid login hint or id_token");
487
+ }
488
+ // Adds the login_hint to the extraLoginOptions.
489
+ loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, finalExtraLoginOptions), {}, {
490
+ login_hint: finalUserId
448
491
  });
449
492
  delete loginParams.chainId;
450
493
  return this.authInstance.postLoginInitiatedMessage(loginParams);
@@ -542,8 +585,8 @@ const authConnector = params => {
542
585
  walletServicesSettings: finalWsSettings,
543
586
  loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
544
587
  coreOptions,
545
- // TODO: check, test this and may need to send modal config here later on.!!
546
- authConnectionConfig: projectConfig.embeddedWalletAuth
588
+ authConnectionConfig: projectConfig.embeddedWalletAuth,
589
+ mfaSettings: coreOptions.mfaSettings
547
590
  });
548
591
  };
549
592
  };
@@ -2,11 +2,11 @@
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
4
  var wsEmbed = require('@web3auth/ws-embed');
5
- var index = require('../../base/errors/index.js');
6
5
  var baseConnector = require('../../base/connector/baseConnector.js');
7
6
  var constants = require('../../base/connector/constants.js');
8
7
  require('@web3auth/auth');
9
8
  var utils = require('../../base/connector/utils.js');
9
+ var index = require('../../base/errors/index.js');
10
10
  require('../../base/loglevel.js');
11
11
  require('../../base/plugin/errors.js');
12
12
  require('../../base/plugin/IPlugin.js');
@@ -2,11 +2,11 @@
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
4
  var wsEmbed = require('@web3auth/ws-embed');
5
- var index = require('../../base/errors/index.js');
6
5
  var baseConnector = require('../../base/connector/baseConnector.js');
7
6
  var constants = require('../../base/connector/constants.js');
8
7
  require('@web3auth/auth');
9
8
  var utils = require('../../base/connector/utils.js');
9
+ var index = require('../../base/errors/index.js');
10
10
  require('../../base/loglevel.js');
11
11
  require('../../base/plugin/errors.js');
12
12
  require('../../base/plugin/IPlugin.js');
@@ -2,10 +2,9 @@
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var walletSdk = require('@coinbase/wallet-sdk');
6
- var index$1 = require('../../base/errors/index.js');
7
5
  var IChainInterface = require('../../base/chain/IChainInterface.js');
8
6
  require('@web3auth/auth');
7
+ var index$1 = require('../../base/errors/index.js');
9
8
  var index = require('../../base/wallet/index.js');
10
9
  var constants = require('../../base/connector/constants.js');
11
10
  require('jwt-decode');
@@ -46,7 +45,10 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
46
45
  super.checkInitializationRequirements({
47
46
  chainConfig
48
47
  });
49
- const coinbaseInstance = walletSdk.createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
48
+ const {
49
+ createCoinbaseWalletSDK
50
+ } = await import('@coinbase/wallet-sdk');
51
+ const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
50
52
  preference: {
51
53
  options: this.coinbaseOptions.options || "smartWalletOnly"
52
54
  },
@@ -60,12 +62,17 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
60
62
  try {
61
63
  if (options.autoConnect) {
62
64
  this.rehydrated = true;
63
- await this.connect({
65
+ const provider = await this.connect({
64
66
  chainId: options.chainId
65
67
  });
68
+ // the connect function could fail silently as well.
69
+ if (!provider) {
70
+ this.rehydrated = false;
71
+ throw index$1.WalletLoginError.connectionError("Failed to rehydrate.");
72
+ }
66
73
  }
67
74
  } catch (error) {
68
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
75
+ this.emit(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error);
69
76
  }
70
77
  }
71
78
  async connect({
@@ -104,8 +111,9 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
104
111
  } catch (error) {
105
112
  // ready again to be connected
106
113
  this.status = constants.CONNECTOR_STATUS.READY;
114
+ // only throw error if the connector is not rehydrated.
115
+ if (!this.rehydrated) this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
107
116
  this.rehydrated = false;
108
- this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
109
117
  if (error instanceof index$1.Web3AuthError) throw error;
110
118
  throw index$1.WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
111
119
  }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var coinbaseConnector = require('./coinbaseConnector.js');
4
+
5
+
6
+
7
+ exports.coinbaseConnector = coinbaseConnector.coinbaseConnector;