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