@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.2

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 (378) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +7 -12
  2. package/dist/lib.cjs/base/chain/config.js +76 -35
  3. package/dist/lib.cjs/base/connector/baseConnector.js +64 -0
  4. package/dist/lib.cjs/base/connector/constants.js +26 -0
  5. package/dist/lib.cjs/base/errors/index.js +2 -12
  6. package/dist/lib.cjs/base/plugin/IPlugin.js +2 -2
  7. package/dist/lib.cjs/base/plugin/errors.js +2 -4
  8. package/dist/lib.cjs/base/utils.js +7 -7
  9. package/dist/lib.cjs/base/wallet/index.js +15 -20
  10. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +503 -0
  11. package/dist/lib.cjs/connectors/auth-connector/config/authConnectionConfig.js +216 -0
  12. package/dist/lib.cjs/connectors/auth-connector/config/config-build.js +54 -0
  13. package/dist/lib.cjs/connectors/auth-connector/config/config-env.js +361 -0
  14. package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +28 -19
  15. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +83 -0
  16. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +159 -0
  17. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  18. package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +66 -42
  19. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  20. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +156 -0
  21. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
  22. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +55 -57
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +32 -0
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +418 -0
  25. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +23 -26
  26. package/dist/lib.cjs/index.js +142 -102
  27. package/dist/lib.cjs/noModal.js +299 -241
  28. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -3
  29. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +18 -6
  30. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +50 -204
  31. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  32. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +112 -35
  33. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +10 -0
  34. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
  35. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
  36. package/dist/lib.cjs/providers/base-provider/baseProvider.js +49 -24
  37. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  38. package/dist/lib.cjs/providers/base-provider/index.js +22 -0
  39. package/dist/lib.cjs/providers/base-provider/utils.js +10 -2
  40. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +51 -61
  41. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
  42. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
  43. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -1
  44. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
  45. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -5
  46. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
  47. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
  48. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
  49. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
  50. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +7 -9
  51. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
  52. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +37 -56
  53. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +30 -29
  54. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  55. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +41 -18
  56. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +36 -60
  57. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
  58. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +28 -44
  59. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +11 -0
  60. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +13 -1
  61. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
  62. package/dist/{types → lib.cjs/types}/base/chain/IChainInterface.d.ts +4 -10
  63. package/dist/{types → lib.cjs/types}/base/chain/config.d.ts +2 -2
  64. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +37 -0
  65. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/constants.d.ts +7 -4
  66. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/index.d.ts +1 -1
  67. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/interfaces.d.ts +58 -48
  68. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +142 -0
  69. package/dist/{types → lib.cjs/types}/base/errors/index.d.ts +1 -1
  70. package/dist/{types → lib.cjs/types}/base/hooks/index.d.ts +2 -6
  71. package/dist/{types → lib.cjs/types}/base/index.d.ts +1 -1
  72. package/dist/{types → lib.cjs/types}/base/interfaces.d.ts +2 -1
  73. package/dist/{types → lib.cjs/types}/base/plugin/IPlugin.d.ts +4 -7
  74. package/dist/{types → lib.cjs/types}/base/plugin/errors.d.ts +1 -1
  75. package/dist/{types → lib.cjs/types}/base/utils.d.ts +1 -1
  76. package/dist/lib.cjs/types/base/wallet/index.d.ts +29 -0
  77. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +49 -0
  78. package/dist/lib.cjs/types/connectors/auth-connector/config/authConnectionConfig.d.ts +2 -0
  79. package/dist/lib.cjs/types/connectors/auth-connector/config/config-build.d.ts +18 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/config/config-env.d.ts +60 -0
  81. package/dist/lib.cjs/types/connectors/auth-connector/index.d.ts +2 -0
  82. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +15 -0
  83. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  84. package/dist/lib.cjs/types/connectors/base-evm-connector/index.d.ts +1 -0
  85. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  86. package/dist/lib.cjs/types/connectors/base-solana-connector/index.d.ts +1 -0
  87. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  88. package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
  89. package/dist/lib.cjs/types/connectors/index.d.ts +7 -0
  90. package/dist/lib.cjs/types/connectors/injected-evm-connector/index.d.ts +2 -0
  91. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  92. package/dist/lib.cjs/types/connectors/injected-solana-connector/index.d.ts +5 -0
  93. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  94. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +4 -6
  95. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
  96. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
  97. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
  98. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  99. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
  100. package/dist/{types → lib.cjs/types}/index.d.ts +1 -1
  101. package/dist/lib.cjs/types/noModal.d.ts +58 -0
  102. package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
  103. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +27 -0
  104. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +48 -0
  105. package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/index.d.ts +0 -1
  106. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -0
  107. package/dist/{types → lib.cjs/types}/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
  108. package/dist/{types → lib.cjs/types}/providers/base-provider/baseProvider.d.ts +10 -11
  109. package/dist/{types → lib.cjs/types}/providers/base-provider/commonPrivateKeyProvider.d.ts +3 -6
  110. package/dist/{types → lib.cjs/types}/providers/base-provider/interfaces.d.ts +3 -1
  111. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +9 -0
  112. package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -6
  113. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +1 -0
  114. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -0
  115. package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
  116. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +22 -0
  117. package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
  118. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +2 -0
  119. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  120. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +9 -0
  121. package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +5 -6
  122. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +27 -0
  123. package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
  124. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +28 -0
  125. package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +5 -6
  126. package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
  127. package/dist/{types → lib.cjs/types}/react/no-modal/interfaces.d.ts +4 -4
  128. package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/interfaces.d.ts +2 -2
  129. package/dist/{types → lib.cjs/types}/vue/no-modal/interfaces.d.ts +5 -8
  130. package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/interfaces.d.ts +2 -2
  131. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +27 -44
  132. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +12 -1
  133. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
  134. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
  135. package/dist/lib.esm/base/chain/IChainInterface.js +3 -11
  136. package/dist/lib.esm/base/chain/config.js +65 -24
  137. package/dist/lib.esm/base/connector/baseConnector.js +62 -0
  138. package/dist/lib.esm/base/connector/constants.js +22 -0
  139. package/dist/lib.esm/base/errors/index.js +2 -12
  140. package/dist/lib.esm/base/plugin/IPlugin.js +1 -1
  141. package/dist/lib.esm/base/plugin/errors.js +2 -4
  142. package/dist/lib.esm/base/utils.js +5 -5
  143. package/dist/lib.esm/base/wallet/index.js +11 -16
  144. package/dist/lib.esm/connectors/auth-connector/authConnector.js +501 -0
  145. package/dist/lib.esm/connectors/auth-connector/config/authConnectionConfig.js +214 -0
  146. package/dist/lib.esm/connectors/auth-connector/config/config-build.js +48 -0
  147. package/dist/lib.esm/connectors/auth-connector/config/config-env.js +359 -0
  148. package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +29 -20
  149. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +81 -0
  150. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +157 -0
  151. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  152. package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +64 -41
  153. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  154. package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +66 -49
  155. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
  156. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +47 -45
  157. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  158. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +416 -0
  159. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +24 -26
  160. package/dist/lib.esm/index.js +29 -34
  161. package/dist/lib.esm/noModal.js +297 -239
  162. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +1 -4
  163. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +18 -6
  164. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +46 -201
  165. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  166. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +108 -34
  167. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +10 -0
  168. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
  169. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
  170. package/dist/lib.esm/providers/base-provider/baseProvider.js +49 -24
  171. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  172. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  173. package/dist/lib.esm/providers/base-provider/utils.js +9 -1
  174. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +50 -60
  175. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
  176. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
  177. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -1
  178. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
  179. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  180. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
  181. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
  182. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
  183. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
  184. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +4 -6
  185. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
  186. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +36 -55
  187. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +29 -28
  188. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +6 -6
  189. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +41 -18
  190. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +35 -59
  191. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
  192. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +28 -44
  193. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +11 -0
  194. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +13 -1
  195. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
  196. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +27 -44
  197. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +12 -1
  198. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
  199. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
  200. package/dist/noModal.umd.min.js +1 -1
  201. package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
  202. package/package.json +25 -22
  203. package/dist/757.noModal.cjs.js +0 -226
  204. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
  205. package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
  206. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -76
  207. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
  208. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
  209. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
  210. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
  211. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
  212. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +0 -138
  213. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
  214. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
  215. package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
  216. package/dist/lib.cjs/base/adapter/constants.js +0 -24
  217. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
  218. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
  219. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
  220. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
  221. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
  222. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
  223. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
  224. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
  225. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
  226. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
  227. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
  228. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
  229. package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
  230. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -74
  231. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
  232. package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
  233. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
  234. package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
  235. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
  236. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
  237. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
  238. package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
  239. package/dist/lib.esm/base/adapter/constants.js +0 -20
  240. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
  241. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
  242. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
  243. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
  244. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
  245. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
  246. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
  247. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
  248. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
  249. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
  250. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
  251. package/dist/noModal.cjs.js +0 -26385
  252. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
  253. package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
  254. package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
  255. package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
  256. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
  257. package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
  258. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
  259. package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
  260. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
  261. package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
  262. package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
  263. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
  264. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
  265. package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
  266. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
  267. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
  268. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
  269. package/dist/types/adapters/index.d.ts +0 -7
  270. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
  271. package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
  272. package/dist/types/base/core/IWeb3Auth.d.ts +0 -101
  273. package/dist/types/base/wallet/index.d.ts +0 -33
  274. package/dist/types/noModal.d.ts +0 -43
  275. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +0 -51
  276. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +0 -46
  277. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
  278. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
  279. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
  280. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
  281. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
  282. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
  283. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
  284. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
  285. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +0 -6
  286. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
  287. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
  288. package/dist/types/providers/base-provider/utils.d.ts +0 -2
  289. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
  290. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
  291. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -2
  292. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +0 -5
  293. package/dist/types/providers/solana-provider/interface.d.ts +0 -39
  294. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -3
  295. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
  296. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
  297. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
  298. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -6
  300. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +0 -42
  301. package/dist/types/providers/solana-provider/solanaWallet.d.ts +0 -14
  302. /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
  303. /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  304. /package/dist/{types → lib.cjs/types}/base/composables/index.d.ts +0 -0
  305. /package/dist/{types/base/adapter → lib.cjs/types/base/connector}/utils.d.ts +0 -0
  306. /package/dist/{types → lib.cjs/types}/base/loglevel.d.ts +0 -0
  307. /package/dist/{types → lib.cjs/types}/base/plugin/index.d.ts +0 -0
  308. /package/dist/{types → lib.cjs/types}/base/provider/IProvider.d.ts +0 -0
  309. /package/dist/{types/adapters/default-solana-adapter → lib.cjs/types/connectors/injected-solana-connector}/utils.d.ts +0 -0
  310. /package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
  311. /package/dist/{types → lib.cjs/types}/plugins/index.d.ts +0 -0
  312. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/embed.d.ts +0 -0
  313. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/enums.d.ts +0 -0
  314. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/index.d.ts +0 -0
  315. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/utils.d.ts +0 -0
  316. /package/dist/{types → lib.cjs/types}/plugins/wallet-services-plugin/index.d.ts +0 -0
  317. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/index.d.ts +0 -0
  318. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/utils.d.ts +0 -0
  319. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
  320. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/index.d.ts +0 -0
  321. /package/dist/{types → lib.cjs/types}/providers/base-provider/index.d.ts +0 -0
  322. /package/dist/{types → lib.cjs/types}/providers/base-provider/jrpcClient.d.ts +0 -0
  323. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/index.d.ts +0 -0
  324. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/index.d.ts +0 -0
  325. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -0
  326. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -0
  327. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
  328. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -0
  329. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/index.d.ts +0 -0
  330. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/converter.d.ts +0 -0
  331. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/index.d.ts +0 -0
  332. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -0
  333. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -0
  334. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -0
  335. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -0
  336. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -0
  337. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/utils.d.ts +0 -0
  338. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/index.d.ts +0 -0
  339. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/jrpcClient.d.ts +0 -0
  340. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -0
  341. /package/dist/{types → lib.cjs/types}/providers/index.d.ts +0 -0
  342. /package/dist/{types → lib.cjs/types}/providers/solana-provider/index.d.ts +0 -0
  343. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/index.d.ts +0 -0
  344. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -0
  345. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/index.d.ts +0 -0
  346. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +0 -0
  347. /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/JrpcClient.d.ts +0 -0
  348. /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/index.d.ts +0 -0
  349. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/index.d.ts +0 -0
  350. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/index.d.ts +0 -0
  351. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +0 -0
  352. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +0 -0
  353. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +0 -0
  354. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +0 -0
  355. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/JrpcClient.d.ts +0 -0
  356. /package/dist/{types → lib.cjs/types}/react/index.d.ts +0 -0
  357. /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthInnerContext.d.ts +0 -0
  358. /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthProvider.d.ts +0 -0
  359. /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/index.d.ts +0 -0
  360. /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/useWeb3Auth.d.ts +0 -0
  361. /package/dist/{types → lib.cjs/types}/react/no-modal/index.d.ts +0 -0
  362. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -0
  363. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
  364. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/index.d.ts +0 -0
  365. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +0 -0
  366. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/index.d.ts +0 -0
  367. /package/dist/{types → lib.cjs/types}/vue/index.d.ts +0 -0
  368. /package/dist/{types → lib.cjs/types}/vue/no-modal/Web3AuthProvider.d.ts +0 -0
  369. /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/index.d.ts +0 -0
  370. /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/useWeb3Auth.d.ts +0 -0
  371. /package/dist/{types → lib.cjs/types}/vue/no-modal/index.d.ts +0 -0
  372. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
  373. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/index.d.ts +0 -0
  374. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -0
  375. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/context.d.ts +0 -0
  376. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/index.d.ts +0 -0
  377. /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
  378. /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
@@ -0,0 +1,501 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { SecurePubSub } from '@toruslabs/secure-pub-sub';
4
+ import { BUILD_ENV, UX_MODE, Auth, SDK_MODE, SUPPORTED_KEY_CURVES, randomId, createHandler, PopupHandler } from '@web3auth/auth';
5
+ import deepmerge from 'deepmerge';
6
+ import { WalletInitializationError, WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
7
+ import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
8
+ import { BaseConnector } from '../../base/connector/baseConnector.js';
9
+ import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
10
+ import 'jwt-decode';
11
+ import { log } from '../../base/loglevel.js';
12
+ import '../../base/plugin/errors.js';
13
+ import '../../base/plugin/IPlugin.js';
14
+ import { cloneDeep, CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
15
+ import '@toruslabs/constants';
16
+ import '@toruslabs/http-helpers';
17
+ import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
18
+ import { getAuthConnectionConfig } from './config/authConnectionConfig.js';
19
+
20
+ class AuthConnector extends BaseConnector {
21
+ constructor(params) {
22
+ super(params);
23
+ _defineProperty(this, "name", WALLET_CONNECTORS.AUTH);
24
+ _defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.MULTICHAIN);
25
+ _defineProperty(this, "type", CONNECTOR_CATEGORY.IN_APP);
26
+ _defineProperty(this, "authInstance", null);
27
+ _defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
28
+ _defineProperty(this, "privateKeyProvider", null);
29
+ _defineProperty(this, "authOptions", void 0);
30
+ _defineProperty(this, "loginSettings", {
31
+ authConnection: ""
32
+ });
33
+ _defineProperty(this, "wsSettings", void 0);
34
+ _defineProperty(this, "wsEmbedInstance", null);
35
+ _defineProperty(this, "authConnectionConfig", []);
36
+ this.authOptions = params.connectorSettings;
37
+ this.loginSettings = params.loginSettings || {
38
+ authConnection: ""
39
+ };
40
+ this.wsSettings = params.walletServicesSettings || {};
41
+ this.authConnectionConfig = params.authConnectionConfig || [];
42
+ }
43
+ get provider() {
44
+ if (this.status !== CONNECTOR_STATUS.NOT_READY) {
45
+ var _this$wsEmbedInstance;
46
+ if ((_this$wsEmbedInstance = this.wsEmbedInstance) !== null && _this$wsEmbedInstance !== void 0 && _this$wsEmbedInstance.provider) {
47
+ return this.wsEmbedInstance.provider;
48
+ } else if (this.privateKeyProvider) return this.privateKeyProvider;
49
+ }
50
+ return null;
51
+ }
52
+ get wsEmbed() {
53
+ return this.wsEmbedInstance;
54
+ }
55
+ set provider(_) {
56
+ throw new Error("Not implemented");
57
+ }
58
+ async init(options) {
59
+ const {
60
+ chains
61
+ } = this.coreOptions;
62
+ const {
63
+ chainId
64
+ } = options;
65
+ const chainConfig = chains.find(x => x.chainId === chainId);
66
+ super.checkInitializationRequirements({
67
+ chainConfig
68
+ });
69
+ if (!this.coreOptions.clientId) throw WalletInitializationError.invalidParams("clientId is required before auth's initialization");
70
+ if (!this.authOptions) throw WalletInitializationError.invalidParams("authOptions is required before auth's initialization");
71
+ const isRedirectResult = this.authOptions.uxMode === UX_MODE.REDIRECT;
72
+ this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
73
+ replaceUrlOnRedirect: isRedirectResult,
74
+ useCoreKitKey: this.coreOptions.useCoreKitKey
75
+ });
76
+ this.authInstance = new Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
77
+ clientId: this.coreOptions.clientId,
78
+ network: this.coreOptions.web3AuthNetwork,
79
+ sdkMode: SDK_MODE.IFRAME,
80
+ authConnectionConfig: this.authConnectionConfig
81
+ }));
82
+ log.debug("initializing auth connector init", this.authOptions);
83
+ await this.authInstance.init();
84
+ // Use this for xrpl, mpc cases
85
+ if (this.coreOptions.privateKeyProvider) {
86
+ this.privateKeyProvider = this.coreOptions.privateKeyProvider;
87
+ } else {
88
+ // initialize ws embed or private key provider based on chain namespace
89
+ switch (chainConfig.chainNamespace) {
90
+ case CHAIN_NAMESPACES.EIP155:
91
+ case CHAIN_NAMESPACES.SOLANA:
92
+ {
93
+ const {
94
+ default: WsEmbed
95
+ } = await import('@web3auth/ws-embed');
96
+ this.wsEmbedInstance = new WsEmbed({
97
+ web3AuthClientId: this.coreOptions.clientId,
98
+ web3AuthNetwork: this.coreOptions.web3AuthNetwork,
99
+ modalZIndex: this.wsSettings.modalZIndex
100
+ });
101
+ const wsSupportedChains = chains.filter(x => x.chainNamespace === CHAIN_NAMESPACES.EIP155 || x.chainNamespace === CHAIN_NAMESPACES.SOLANA);
102
+ await this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
103
+ chains: wsSupportedChains,
104
+ chainId,
105
+ whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
106
+ }));
107
+ break;
108
+ }
109
+ case CHAIN_NAMESPACES.XRPL:
110
+ throw WalletLoginError.connectionError("Private key provider is required for XRPL");
111
+ default:
112
+ {
113
+ const {
114
+ CommonPrivateKeyProvider
115
+ } = await import('../../providers/base-provider/index.js');
116
+ this.privateKeyProvider = new CommonPrivateKeyProvider({
117
+ config: {
118
+ chain: chainConfig,
119
+ chains: this.coreOptions.chains
120
+ }
121
+ });
122
+ }
123
+ }
124
+ }
125
+ this.status = CONNECTOR_STATUS.READY;
126
+ this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.AUTH);
127
+ try {
128
+ log.debug("initializing auth connector");
129
+ const {
130
+ sessionId
131
+ } = this.authInstance || {};
132
+ // connect only if it is redirect result or if connect (connector is cached/already connected in same session) is true
133
+ if (sessionId && (options.autoConnect || isRedirectResult)) {
134
+ this.rehydrated = true;
135
+ await this.connect({
136
+ chainId: options.chainId
137
+ });
138
+ }
139
+ } catch (error) {
140
+ log.error("Failed to connect with cached auth provider", error);
141
+ this.emit(CONNECTOR_EVENTS.ERRORED, error);
142
+ }
143
+ }
144
+ async connect(params) {
145
+ super.checkConnectionRequirements();
146
+ this.status = CONNECTOR_STATUS.CONNECTING;
147
+ this.emit(CONNECTOR_EVENTS.CONNECTING, _objectSpread(_objectSpread({}, params), {}, {
148
+ connector: WALLET_CONNECTORS.AUTH
149
+ }));
150
+ try {
151
+ await this.connectWithProvider(params);
152
+ return this.provider;
153
+ } catch (error) {
154
+ var _error$message;
155
+ log.error("Failed to connect with auth provider", error);
156
+ // ready again to be connected
157
+ this.status = CONNECTOR_STATUS.READY;
158
+ 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")) {
160
+ throw WalletLoginError.popupClosed();
161
+ } else if (error instanceof Web3AuthError) {
162
+ throw error;
163
+ }
164
+ throw WalletLoginError.connectionError("Failed to login with auth", error);
165
+ }
166
+ }
167
+ async enableMFA(params = {
168
+ authConnection: ""
169
+ }) {
170
+ if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
171
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
172
+ try {
173
+ await this.authInstance.enableMFA(params);
174
+ } catch (error) {
175
+ log.error("Failed to enable MFA with auth provider", error);
176
+ if (error instanceof Web3AuthError) {
177
+ throw error;
178
+ }
179
+ throw WalletLoginError.connectionError("Failed to enable MFA with auth", error);
180
+ }
181
+ }
182
+ async manageMFA(params = {
183
+ authConnection: ""
184
+ }) {
185
+ if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
186
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
187
+ try {
188
+ await this.authInstance.manageMFA(params);
189
+ } catch (error) {
190
+ log.error("Failed to manage MFA with auth provider", error);
191
+ if (error instanceof Web3AuthError) {
192
+ throw error;
193
+ }
194
+ throw WalletLoginError.connectionError("Failed to manage MFA with auth", error);
195
+ }
196
+ }
197
+ async disconnect(options = {
198
+ cleanup: false
199
+ }) {
200
+ if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
201
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
202
+ this.status = CONNECTOR_STATUS.DISCONNECTING;
203
+ await this.authInstance.logout();
204
+ if (this.wsEmbedInstance) await this.wsEmbedInstance.logout();
205
+ if (options.cleanup) {
206
+ this.status = CONNECTOR_STATUS.NOT_READY;
207
+ this.authInstance = null;
208
+ if (this.wsEmbedInstance) this.wsEmbedInstance = null;
209
+ if (this.privateKeyProvider) this.privateKeyProvider = null;
210
+ } else {
211
+ // ready to be connected again
212
+ this.status = CONNECTOR_STATUS.READY;
213
+ }
214
+ this.rehydrated = false;
215
+ this.emit(CONNECTOR_EVENTS.DISCONNECTED);
216
+ }
217
+ async authenticateUser() {
218
+ if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
219
+ const userInfo = await this.getUserInfo();
220
+ return {
221
+ idToken: userInfo.idToken
222
+ };
223
+ }
224
+ async getUserInfo() {
225
+ if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet");
226
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
227
+ const userInfo = this.authInstance.getUserInfo();
228
+ return userInfo;
229
+ }
230
+ // we don't support switching between different namespaces, except for solana and evm
231
+ async switchChain(params, init = false) {
232
+ super.checkSwitchChainRequirements(params, init);
233
+ // get chains and namespaces
234
+ const {
235
+ chainId: newChainId
236
+ } = params;
237
+ const {
238
+ chainId: currentChainId
239
+ } = this.provider;
240
+ const {
241
+ chainNamespace: currentNamespace
242
+ } = this.getChain(currentChainId);
243
+ const {
244
+ chainNamespace: newNamespace
245
+ } = this.getChain(newChainId);
246
+ // skip if chainId is the same
247
+ if (currentChainId === newChainId) return;
248
+ if (currentNamespace === CHAIN_NAMESPACES.SOLANA || currentNamespace === CHAIN_NAMESPACES.EIP155) {
249
+ var _this$wsEmbedInstance2;
250
+ // can only switch to solana or evm
251
+ if (newNamespace !== CHAIN_NAMESPACES.SOLANA && newNamespace !== CHAIN_NAMESPACES.EIP155) throw WalletLoginError.connectionError("Cannot switch to other chain namespace");
252
+ const fullChainId = `${newNamespace}:${Number(params.chainId)}`;
253
+ await ((_this$wsEmbedInstance2 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance2 === void 0 ? void 0 : _this$wsEmbedInstance2.request({
254
+ method: "wallet_switchChain",
255
+ params: {
256
+ chainId: fullChainId
257
+ }
258
+ }));
259
+ } else {
260
+ var _this$privateKeyProvi;
261
+ // cannot switch to other namespaces
262
+ if (currentNamespace !== newNamespace) throw WalletLoginError.connectionError("Cannot switch to other chain namespace");
263
+ await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
264
+ }
265
+ }
266
+ getChain(chainId) {
267
+ return this.coreOptions.chains.find(x => x.chainId === chainId);
268
+ }
269
+ _getFinalPrivKey() {
270
+ if (!this.authInstance) return "";
271
+ let finalPrivKey = this.authInstance.privKey;
272
+ // coreKitKey is available only for custom verifiers by default
273
+ if (this.coreOptions.useCoreKitKey) {
274
+ // this is to check if the user has already logged in but coreKitKey is not available.
275
+ // when useCoreKitKey is set to true.
276
+ // This is to ensure that when there is no user session active, we don't throw an exception.
277
+ if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
278
+ throw WalletLoginError.coreKitKeyNotFound();
279
+ }
280
+ finalPrivKey = this.authInstance.coreKitKey;
281
+ }
282
+ return finalPrivKey;
283
+ }
284
+ async connectWithProvider(params) {
285
+ var _this$authInstance, _params$extraLoginOpt;
286
+ if (!this.authInstance) throw WalletInitializationError.notReady("authInstance is not ready");
287
+ const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId);
288
+ if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
289
+ const {
290
+ chainNamespace
291
+ } = chainConfig;
292
+ // if not logged in then login
293
+ 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();
294
+ if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
295
+ var _params$extraLoginOpt2;
296
+ // always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
297
+ this.loginSettings.curve = SUPPORTED_KEY_CURVES.OTHER;
298
+ const loginParams = deepmerge(this.loginSettings, params);
299
+ if ((_params$extraLoginOpt2 = params.extraLoginOptions) !== null && _params$extraLoginOpt2 !== void 0 && _params$extraLoginOpt2.id_token) {
300
+ await this.connectWithJwtLogin(loginParams);
301
+ } else {
302
+ await this.connectWithSocialLogin(loginParams);
303
+ }
304
+ }
305
+ // setup WS embed if chainNamespace is EIP155 or SOLANA
306
+ if (chainNamespace === CHAIN_NAMESPACES.EIP155 || chainNamespace === CHAIN_NAMESPACES.SOLANA) {
307
+ const {
308
+ sessionId,
309
+ sessionNamespace
310
+ } = this.authInstance || {};
311
+ if (sessionId) {
312
+ const isLoggedIn = await this.wsEmbedInstance.loginWithSessionId({
313
+ sessionId,
314
+ sessionNamespace
315
+ });
316
+ if (isLoggedIn) {
317
+ var _this$wsEmbedInstance3;
318
+ this.status = CONNECTOR_STATUS.CONNECTED;
319
+ this.emit(CONNECTOR_EVENTS.CONNECTED, {
320
+ connector: WALLET_CONNECTORS.AUTH,
321
+ reconnected: this.rehydrated,
322
+ provider: this.provider
323
+ });
324
+ // handle disconnect from ws embed
325
+ (_this$wsEmbedInstance3 = this.wsEmbedInstance) === null || _this$wsEmbedInstance3 === void 0 || _this$wsEmbedInstance3.provider.on("accountsChanged", (accounts = []) => {
326
+ if (accounts.length === 0 && this.status === CONNECTOR_STATUS.CONNECTED) this.disconnect({
327
+ cleanup: false
328
+ });
329
+ });
330
+ }
331
+ }
332
+ } else {
333
+ // setup private key provider if chainNamespace is other
334
+ const finalPrivKey = this._getFinalPrivKey();
335
+ if (finalPrivKey) {
336
+ await this.privateKeyProvider.setupProvider(finalPrivKey, params.chainId);
337
+ this.status = CONNECTOR_STATUS.CONNECTED;
338
+ this.emit(CONNECTOR_EVENTS.CONNECTED, {
339
+ connector: WALLET_CONNECTORS.AUTH,
340
+ reconnected: this.rehydrated,
341
+ provider: this.provider
342
+ });
343
+ }
344
+ }
345
+ }
346
+ async connectWithSocialLogin(params) {
347
+ var _params$extraLoginOpt3, _params$extraLoginOpt4;
348
+ const providerConfig = this.getOAuthProviderConfig({
349
+ authConnection: params.authConnection,
350
+ authConnectionId: params.authConnectionId,
351
+ groupedAuthConnectionId: params.groupedAuthConnectionId
352
+ });
353
+ if (!(providerConfig !== null && providerConfig !== void 0 && providerConfig.authConnection)) throw WalletLoginError.connectionError("Login provider is not available");
354
+ 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)
356
+ });
357
+ const nonce = randomId();
358
+ // post a message to the auth provider to indicate that login has been initiated.
359
+ const loginParams = cloneDeep(params);
360
+ 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)
362
+ });
363
+ delete loginParams.chainId;
364
+ const popupParams = {
365
+ authConnection: params.authConnection,
366
+ authConnectionId: providerConfig.authConnectionId,
367
+ clientId: providerConfig.clientId,
368
+ groupedAuthConnectionId: providerConfig.groupedAuthConnectionId,
369
+ redirect_uri: `${this.authInstance.baseUrl}/auth`,
370
+ jwtParams,
371
+ customState: {
372
+ nonce,
373
+ dapp_redirect_url: this.authOptions.redirectUrl,
374
+ appState: params.appState,
375
+ uxMode: this.authOptions.uxMode,
376
+ whiteLabel: JSON.stringify(this.authOptions.whiteLabel),
377
+ loginParams: JSON.stringify(loginParams)
378
+ },
379
+ web3AuthClientId: this.coreOptions.clientId,
380
+ web3AuthNetwork: this.coreOptions.web3AuthNetwork
381
+ };
382
+ const loginHandler = createHandler(popupParams);
383
+ const verifierWindow = new PopupHandler({
384
+ url: loginHandler.finalURL,
385
+ timeout: 0
386
+ });
387
+ if (this.authOptions.uxMode === UX_MODE.REDIRECT) return verifierWindow.redirect(this.authOptions.replaceUrlOnRedirect);
388
+ let isClosedWindow = false;
389
+ return new Promise((resolve, reject) => {
390
+ verifierWindow.open().catch(error => {
391
+ log.error("Error during login with social", error);
392
+ this.authInstance.postLoginCancelledMessage(nonce);
393
+ reject(error);
394
+ });
395
+ // this is to close the popup when the login is finished.
396
+ const securePubSub = new SecurePubSub({
397
+ sameIpCheck: true
398
+ });
399
+ securePubSub.subscribe(`web3auth-login-${nonce}`).then(data => {
400
+ const parsedData = JSON.parse(data || "{}");
401
+ if ((parsedData === null || parsedData === void 0 ? void 0 : parsedData.message) === "login_finished") {
402
+ if (parsedData !== null && parsedData !== void 0 && parsedData.error) {
403
+ this.authInstance.postLoginCancelledMessage(nonce);
404
+ reject(parsedData.error);
405
+ }
406
+ isClosedWindow = true;
407
+ securePubSub.cleanup();
408
+ verifierWindow.close();
409
+ }
410
+ return true;
411
+ }).catch(error => {
412
+ // swallow the error, dont need to throw.
413
+ log.error("Error during login with social", error);
414
+ });
415
+ verifierWindow.once("close", () => {
416
+ if (!isClosedWindow) {
417
+ securePubSub.cleanup();
418
+ this.authInstance.postLoginCancelledMessage(nonce);
419
+ reject(WalletLoginError.popupClosed());
420
+ }
421
+ });
422
+ this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(reject);
423
+ });
424
+ }
425
+ connectWithJwtLogin(params) {
426
+ var _params$extraLoginOpt5;
427
+ const loginConfig = this.getOAuthProviderConfig({
428
+ authConnection: params.authConnection,
429
+ authConnectionId: params.authConnectionId,
430
+ groupedAuthConnectionId: params.groupedAuthConnectionId
431
+ });
432
+ if (!(loginConfig !== null && loginConfig !== void 0 && loginConfig.authConnection)) throw WalletLoginError.connectionError("Login provider is not available");
433
+ const loginParams = cloneDeep(params);
434
+ loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
435
+ login_hint: params.login_hint || ((_params$extraLoginOpt5 = params.extraLoginOptions) === null || _params$extraLoginOpt5 === void 0 ? void 0 : _params$extraLoginOpt5.login_hint)
436
+ });
437
+ delete loginParams.chainId;
438
+ return this.authInstance.postLoginInitiatedMessage(loginParams);
439
+ }
440
+ getOAuthProviderConfig(params) {
441
+ const {
442
+ authConnection,
443
+ authConnectionId,
444
+ groupedAuthConnectionId
445
+ } = params;
446
+ const providerConfig = this.authConnectionConfig.find(x => {
447
+ if (groupedAuthConnectionId) {
448
+ return x.authConnection === authConnection && x.groupedAuthConnectionId === groupedAuthConnectionId;
449
+ }
450
+ if (authConnectionId) {
451
+ return x.authConnection === authConnection && x.authConnectionId === authConnectionId;
452
+ }
453
+ return x.authConnection === authConnection;
454
+ });
455
+ return providerConfig;
456
+ }
457
+ }
458
+ const authConnector = params => {
459
+ return ({
460
+ projectConfig,
461
+ coreOptions
462
+ }) => {
463
+ var _coreOptions$uiConfig, _coreOptions$walletSe;
464
+ // Connector settings
465
+ const connectorSettings = {};
466
+ const {
467
+ whitelist,
468
+ whitelabel
469
+ } = projectConfig;
470
+ if (whitelist) connectorSettings.originData = whitelist.signed_urls;
471
+ if ((_coreOptions$uiConfig = coreOptions.uiConfig) !== null && _coreOptions$uiConfig !== void 0 && _coreOptions$uiConfig.uxMode) connectorSettings.uxMode = coreOptions.uiConfig.uxMode;
472
+ const uiConfig = deepmerge(cloneDeep(whitelabel || {}), coreOptions.uiConfig || {});
473
+ if (!uiConfig.mode) uiConfig.mode = "light";
474
+ connectorSettings.whiteLabel = uiConfig;
475
+ const finalConnectorSettings = deepmerge.all([{
476
+ uxMode: UX_MODE.POPUP,
477
+ buildEnv: BUILD_ENV.PRODUCTION
478
+ },
479
+ // default settings
480
+ (params === null || params === void 0 ? void 0 : params.connectorSettings) || {}, connectorSettings]);
481
+ // WS settings
482
+ const isKeyExportEnabled = typeof projectConfig.key_export_enabled === "boolean" ? projectConfig.key_export_enabled : true;
483
+ const finalWsSettings = _objectSpread(_objectSpread({}, coreOptions.walletServicesConfig), {}, {
484
+ whiteLabel: _objectSpread(_objectSpread({}, uiConfig), (_coreOptions$walletSe = coreOptions.walletServicesConfig) === null || _coreOptions$walletSe === void 0 ? void 0 : _coreOptions$walletSe.whiteLabel),
485
+ accountAbstractionConfig: coreOptions.accountAbstractionConfig,
486
+ enableLogging: coreOptions.enableLogging
487
+ // enableKeyExport: keyExportEnabled,
488
+ });
489
+ // Core options
490
+ if (coreOptions.privateKeyProvider) coreOptions.privateKeyProvider.setKeyExportFlag(isKeyExportEnabled);
491
+ return new AuthConnector({
492
+ connectorSettings: finalConnectorSettings,
493
+ walletServicesSettings: finalWsSettings,
494
+ loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
495
+ coreOptions,
496
+ authConnectionConfig: getAuthConnectionConfig(finalConnectorSettings.buildEnv, coreOptions.web3AuthNetwork)
497
+ });
498
+ };
499
+ };
500
+
501
+ export { authConnector };