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

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 (245) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +2 -2
  2. package/dist/lib.cjs/base/chain/config.js +63 -22
  3. package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
  4. package/dist/lib.cjs/base/connector/constants.js +26 -0
  5. package/dist/lib.cjs/base/errors/index.js +2 -2
  6. package/dist/lib.cjs/base/plugin/errors.js +2 -2
  7. package/dist/lib.cjs/base/wallet/index.js +15 -20
  8. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
  9. package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +22 -19
  10. package/dist/lib.cjs/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +24 -23
  11. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
  12. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  13. package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -38
  14. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  15. package/dist/lib.cjs/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -48
  16. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +40 -90
  17. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  18. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
  20. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +12 -25
  21. package/dist/lib.cjs/index.js +100 -82
  22. package/dist/lib.cjs/noModal.js +291 -239
  23. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +9 -4
  24. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +43 -199
  25. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  26. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +99 -31
  27. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
  28. package/dist/lib.cjs/providers/base-provider/baseProvider.js +29 -24
  29. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  30. package/dist/lib.cjs/providers/base-provider/index.js +18 -0
  31. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  32. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
  33. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  34. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  35. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  36. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  37. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  38. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  39. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +44 -18
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  41. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  42. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +18 -42
  43. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  44. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +16 -42
  45. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  46. package/dist/lib.esm/base/chain/IChainInterface.js +2 -2
  47. package/dist/lib.esm/base/chain/config.js +63 -22
  48. package/dist/lib.esm/base/connector/baseConnector.js +65 -0
  49. package/dist/lib.esm/base/connector/constants.js +22 -0
  50. package/dist/lib.esm/base/errors/index.js +2 -2
  51. package/dist/lib.esm/base/plugin/errors.js +2 -2
  52. package/dist/lib.esm/base/wallet/index.js +11 -16
  53. package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
  54. package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +23 -20
  55. package/dist/lib.esm/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +25 -24
  56. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
  57. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  58. package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -39
  59. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  60. package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -49
  61. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +41 -91
  62. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  63. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  64. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
  65. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +13 -25
  66. package/dist/lib.esm/index.js +23 -28
  67. package/dist/lib.esm/noModal.js +290 -238
  68. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +9 -4
  69. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +42 -199
  70. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  71. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +96 -31
  72. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
  73. package/dist/lib.esm/providers/base-provider/baseProvider.js +29 -24
  74. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  75. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  76. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  77. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
  78. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  79. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  80. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  81. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  82. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  83. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  84. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +44 -18
  85. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  86. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  87. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +18 -42
  88. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  89. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +16 -42
  90. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  91. package/dist/noModal.cjs.js +12650 -24362
  92. package/dist/noModal.umd.min.js +1 -1
  93. package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
  94. package/dist/types/base/chain/IChainInterface.d.ts +2 -2
  95. package/dist/types/base/chain/config.d.ts +2 -2
  96. package/dist/types/base/connector/baseConnector.d.ts +37 -0
  97. package/dist/types/base/{adapter → connector}/constants.d.ts +7 -4
  98. package/dist/types/base/{adapter → connector}/index.d.ts +1 -1
  99. package/dist/types/base/{adapter → connector}/interfaces.d.ts +47 -45
  100. package/dist/types/base/core/IWeb3Auth.d.ts +75 -34
  101. package/dist/types/base/errors/index.d.ts +1 -1
  102. package/dist/types/base/hooks/index.d.ts +2 -6
  103. package/dist/types/base/index.d.ts +1 -1
  104. package/dist/types/base/plugin/IPlugin.d.ts +4 -7
  105. package/dist/types/base/plugin/errors.d.ts +1 -1
  106. package/dist/types/base/utils.d.ts +1 -1
  107. package/dist/types/base/wallet/index.d.ts +9 -13
  108. package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
  109. package/dist/types/connectors/auth-connector/index.d.ts +2 -0
  110. package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
  111. package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  112. package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
  113. package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  114. package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
  115. package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  116. package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
  117. package/dist/types/connectors/index.d.ts +7 -0
  118. package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
  119. package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  120. package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
  121. package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  122. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +3 -4
  123. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
  124. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
  125. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
  126. package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  127. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
  128. package/dist/types/index.d.ts +1 -1
  129. package/dist/types/noModal.d.ts +29 -14
  130. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
  131. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +8 -32
  132. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +16 -14
  133. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +0 -1
  134. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -6
  135. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
  136. package/dist/types/providers/base-provider/baseProvider.d.ts +14 -11
  137. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +2 -4
  138. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -5
  139. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  140. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +2 -3
  141. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
  142. package/dist/types/providers/solana-provider/interface.d.ts +8 -25
  143. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
  144. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +1 -2
  145. package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  146. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +7 -4
  147. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +4 -4
  148. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +12 -27
  149. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
  150. package/dist/types/providers/solana-provider/solanaWallet.d.ts +21 -7
  151. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +4 -4
  152. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
  153. package/dist/types/react/no-modal/interfaces.d.ts +4 -4
  154. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +2 -2
  155. package/dist/types/vue/no-modal/interfaces.d.ts +5 -8
  156. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +2 -2
  157. package/package.json +8 -7
  158. package/dist/757.noModal.cjs.js +0 -226
  159. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
  160. package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
  161. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
  162. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
  163. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
  164. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
  165. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
  166. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
  167. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
  168. package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
  169. package/dist/lib.cjs/base/adapter/constants.js +0 -24
  170. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
  171. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
  172. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
  173. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
  174. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
  175. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
  176. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
  177. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
  178. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
  179. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
  180. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
  181. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
  182. package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
  183. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
  184. package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
  185. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
  186. package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
  187. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
  188. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
  189. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
  190. package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
  191. package/dist/lib.esm/base/adapter/constants.js +0 -20
  192. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
  193. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
  194. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
  195. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
  196. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
  197. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
  198. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
  199. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
  200. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
  201. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
  202. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
  203. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
  204. package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
  205. package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
  206. package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
  207. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
  208. package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
  209. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
  210. package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
  211. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
  212. package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
  213. package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
  214. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
  215. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
  216. package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
  217. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
  218. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
  219. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
  220. package/dist/types/adapters/index.d.ts +0 -7
  221. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
  222. package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
  223. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
  224. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
  225. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
  226. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
  227. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
  228. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
  229. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
  230. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
  231. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
  232. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
  233. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
  234. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
  235. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
  236. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
  237. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
  238. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
  239. /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
  240. /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  241. /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
  242. /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  243. /package/dist/types/base/{adapter → connector}/utils.d.ts +0 -0
  244. /package/dist/types/{adapters/default-solana-adapter → connectors/injected-solana-connector}/utils.d.ts +0 -0
  245. /package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
@@ -0,0 +1,392 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var auth = require('@web3auth/auth');
6
+ var deepmerge = require('deepmerge');
7
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
8
+ var index$1 = require('../../base/errors/index.js');
9
+ var loglevel = require('../../base/loglevel.js');
10
+ var baseControllers = require('@toruslabs/base-controllers');
11
+ require('@toruslabs/constants');
12
+ require('@toruslabs/http-helpers');
13
+ var index = require('../../base/wallet/index.js');
14
+ var baseConnector = require('../../base/connector/baseConnector.js');
15
+ var constants = require('../../base/connector/constants.js');
16
+
17
+ class AuthConnector extends baseConnector.BaseConnector {
18
+ constructor(params) {
19
+ super(params);
20
+ _defineProperty(this, "name", index.WALLET_CONNECTORS.AUTH);
21
+ _defineProperty(this, "connectorNamespace", IChainInterface.CONNECTOR_NAMESPACES.MULTICHAIN);
22
+ _defineProperty(this, "type", constants.CONNECTOR_CATEGORY.IN_APP);
23
+ _defineProperty(this, "authInstance", null);
24
+ _defineProperty(this, "status", constants.CONNECTOR_STATUS.NOT_READY);
25
+ _defineProperty(this, "privateKeyProvider", null);
26
+ _defineProperty(this, "authOptions", void 0);
27
+ _defineProperty(this, "loginSettings", {
28
+ loginProvider: ""
29
+ });
30
+ _defineProperty(this, "wsSettings", {});
31
+ _defineProperty(this, "wsEmbedInstance", null);
32
+ this.authOptions = params.connectorSettings;
33
+ this.loginSettings = params.loginSettings || {
34
+ loginProvider: ""
35
+ };
36
+ this.wsSettings = params.walletServicesSettings || {};
37
+ }
38
+ get provider() {
39
+ if (this.status !== constants.CONNECTOR_STATUS.NOT_READY) {
40
+ var _this$wsEmbedInstance;
41
+ if ((_this$wsEmbedInstance = this.wsEmbedInstance) !== null && _this$wsEmbedInstance !== void 0 && _this$wsEmbedInstance.provider) {
42
+ return this.wsEmbedInstance.provider;
43
+ } else if (this.privateKeyProvider) return this.privateKeyProvider;
44
+ }
45
+ return null;
46
+ }
47
+ get wsEmbed() {
48
+ return this.wsEmbedInstance;
49
+ }
50
+ set provider(_) {
51
+ throw new Error("Not implemented");
52
+ }
53
+ async init(options) {
54
+ const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
55
+ super.checkInitializationRequirements({
56
+ chainConfig
57
+ });
58
+ if (!this.coreOptions.clientId) throw index$1.WalletInitializationError.invalidParams("clientId is required before auth's initialization");
59
+ if (!this.authOptions) throw index$1.WalletInitializationError.invalidParams("authOptions is required before auth's initialization");
60
+ const isRedirectResult = this.authOptions.uxMode === auth.UX_MODE.REDIRECT;
61
+ this.authOptions = _objectSpread(_objectSpread({}, this.authOptions), {}, {
62
+ replaceUrlOnRedirect: isRedirectResult,
63
+ useCoreKitKey: this.coreOptions.useCoreKitKey
64
+ });
65
+ const web3AuthNetwork = this.coreOptions.web3AuthNetwork || auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET;
66
+ this.authInstance = new auth.Auth(_objectSpread(_objectSpread({}, this.authOptions), {}, {
67
+ clientId: this.coreOptions.clientId,
68
+ network: web3AuthNetwork
69
+ }));
70
+ loglevel.log.debug("initializing auth connector init");
71
+ await this.authInstance.init();
72
+
73
+ // Use this for xrpl, mpc cases
74
+ if (this.coreOptions.privateKeyProvider) {
75
+ this.privateKeyProvider = this.coreOptions.privateKeyProvider;
76
+ } else {
77
+ // initialize ws embed or private key provider based on chain namespace
78
+ switch (chainConfig.chainNamespace) {
79
+ case IChainInterface.CHAIN_NAMESPACES.EIP155:
80
+ case IChainInterface.CHAIN_NAMESPACES.SOLANA:
81
+ {
82
+ const {
83
+ default: WsEmbed
84
+ } = await import('@web3auth/ws-embed');
85
+ this.wsEmbedInstance = new WsEmbed({
86
+ web3AuthClientId: this.coreOptions.clientId,
87
+ web3AuthNetwork,
88
+ modalZIndex: this.wsSettings.modalZIndex
89
+ });
90
+ // TODO: once support multiple chains, only pass chains of solana and EVM
91
+ await this.wsEmbedInstance.init(_objectSpread(_objectSpread({}, this.wsSettings), {}, {
92
+ chainConfig: chainConfig,
93
+ // TODO: upgrade ws-embed to support custom chain config
94
+ whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
95
+ }));
96
+ break;
97
+ }
98
+ case IChainInterface.CHAIN_NAMESPACES.XRPL:
99
+ throw index$1.WalletLoginError.connectionError("Private key provider is required for XRPL");
100
+ default:
101
+ {
102
+ const {
103
+ CommonPrivateKeyProvider
104
+ } = await Promise.resolve().then(function () { return require('../../providers/base-provider/index.js'); });
105
+ this.privateKeyProvider = new CommonPrivateKeyProvider({
106
+ config: {
107
+ chain: chainConfig,
108
+ chains: this.coreOptions.chains
109
+ }
110
+ });
111
+ }
112
+ }
113
+ }
114
+ this.status = constants.CONNECTOR_STATUS.READY;
115
+ this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.AUTH);
116
+ try {
117
+ loglevel.log.debug("initializing auth connector");
118
+ const {
119
+ sessionId
120
+ } = this.authInstance || {};
121
+ // connect only if it is redirect result or if connect (connector is cached/already connected in same session) is true
122
+ if (sessionId && (options.autoConnect || isRedirectResult)) {
123
+ this.rehydrated = true;
124
+ await this.connect({
125
+ chainId: options.chainId
126
+ });
127
+ }
128
+ } catch (error) {
129
+ loglevel.log.error("Failed to connect with cached auth provider", error);
130
+ this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
131
+ }
132
+ }
133
+ async connect(params) {
134
+ super.checkConnectionRequirements();
135
+ this.status = constants.CONNECTOR_STATUS.CONNECTING;
136
+ this.emit(constants.CONNECTOR_EVENTS.CONNECTING, _objectSpread(_objectSpread({}, params), {}, {
137
+ connector: index.WALLET_CONNECTORS.AUTH
138
+ }));
139
+ try {
140
+ await this.connectWithProvider(params);
141
+ return this.provider;
142
+ } catch (error) {
143
+ loglevel.log.error("Failed to connect with auth provider", error);
144
+ // ready again to be connected
145
+ this.status = constants.CONNECTOR_STATUS.READY;
146
+ this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
147
+ if (error !== null && error !== void 0 && error.message.includes("user closed popup")) {
148
+ throw index$1.WalletLoginError.popupClosed();
149
+ } else if (error instanceof index$1.Web3AuthError) {
150
+ throw error;
151
+ }
152
+ throw index$1.WalletLoginError.connectionError("Failed to login with auth", error);
153
+ }
154
+ }
155
+ async enableMFA(params = {
156
+ loginProvider: ""
157
+ }) {
158
+ if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
159
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
160
+ try {
161
+ await this.authInstance.enableMFA(params);
162
+ } catch (error) {
163
+ loglevel.log.error("Failed to enable MFA with auth provider", error);
164
+ if (error instanceof index$1.Web3AuthError) {
165
+ throw error;
166
+ }
167
+ throw index$1.WalletLoginError.connectionError("Failed to enable MFA with auth", error);
168
+ }
169
+ }
170
+ async manageMFA(params = {
171
+ loginProvider: ""
172
+ }) {
173
+ if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
174
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
175
+ try {
176
+ await this.authInstance.manageMFA(params);
177
+ } catch (error) {
178
+ loglevel.log.error("Failed to manage MFA with auth provider", error);
179
+ if (error instanceof index$1.Web3AuthError) {
180
+ throw error;
181
+ }
182
+ throw index$1.WalletLoginError.connectionError("Failed to manage MFA with auth", error);
183
+ }
184
+ }
185
+ async disconnect(options = {
186
+ cleanup: false
187
+ }) {
188
+ if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
189
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
190
+ this.status = constants.CONNECTOR_STATUS.DISCONNECTING;
191
+ await this.authInstance.logout();
192
+ if (this.wsEmbedInstance) await this.wsEmbedInstance.logout();
193
+ if (options.cleanup) {
194
+ this.status = constants.CONNECTOR_STATUS.NOT_READY;
195
+ this.authInstance = null;
196
+ if (this.wsEmbedInstance) this.wsEmbedInstance = null;
197
+ if (this.privateKeyProvider) this.privateKeyProvider = null;
198
+ } else {
199
+ // ready to be connected again
200
+ this.status = constants.CONNECTOR_STATUS.READY;
201
+ }
202
+ this.rehydrated = false;
203
+ this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
204
+ }
205
+ async authenticateUser() {
206
+ if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
207
+ const userInfo = await this.getUserInfo();
208
+ return {
209
+ idToken: userInfo.idToken
210
+ };
211
+ }
212
+ async getUserInfo() {
213
+ if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
214
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
215
+ const userInfo = this.authInstance.getUserInfo();
216
+ return userInfo;
217
+ }
218
+
219
+ // we don't support switching between different namespaces, except for solana and evm
220
+ async switchChain(params, init = false) {
221
+ super.checkSwitchChainRequirements(params, init);
222
+ // get chains and namespaces
223
+ const {
224
+ chainId: newChainId
225
+ } = params;
226
+ const {
227
+ chainId: currentChainId
228
+ } = this.provider;
229
+ const {
230
+ chainNamespace: currentNamespace
231
+ } = this.getChain(currentChainId);
232
+ const {
233
+ chainNamespace: newNamespace
234
+ } = this.getChain(newChainId);
235
+
236
+ // skip if chainId is the same
237
+ if (currentChainId === newChainId) return;
238
+ if (currentNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA || currentNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155) {
239
+ var _this$wsEmbedInstance2;
240
+ // can only switch to solana or evm
241
+ if (newNamespace !== IChainInterface.CHAIN_NAMESPACES.SOLANA && newNamespace !== IChainInterface.CHAIN_NAMESPACES.EIP155) throw index$1.WalletLoginError.connectionError("Cannot switch to other chain namespace");
242
+ const fullChainId = `${newNamespace}:${Number(params.chainId)}`;
243
+ await ((_this$wsEmbedInstance2 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance2 === void 0 ? void 0 : _this$wsEmbedInstance2.request({
244
+ method: "wallet_switchChain",
245
+ params: {
246
+ chainId: fullChainId
247
+ }
248
+ }));
249
+ } else {
250
+ var _this$privateKeyProvi;
251
+ // cannot switch to other namespaces
252
+ if (currentNamespace !== newNamespace) throw index$1.WalletLoginError.connectionError("Cannot switch to other chain namespace");
253
+ await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
254
+ }
255
+ }
256
+ getChain(chainId) {
257
+ return this.coreOptions.chains.find(x => x.chainId === chainId);
258
+ }
259
+ _getFinalPrivKey() {
260
+ if (!this.authInstance) return "";
261
+ let finalPrivKey = this.authInstance.privKey;
262
+ // coreKitKey is available only for custom verifiers by default
263
+ if (this.coreOptions.useCoreKitKey) {
264
+ // this is to check if the user has already logged in but coreKitKey is not available.
265
+ // when useCoreKitKey is set to true.
266
+ // This is to ensure that when there is no user session active, we don't throw an exception.
267
+ if (this.authInstance.privKey && !this.authInstance.coreKitKey) {
268
+ throw index$1.WalletLoginError.coreKitKeyNotFound();
269
+ }
270
+ finalPrivKey = this.authInstance.coreKitKey;
271
+ }
272
+ return finalPrivKey;
273
+ }
274
+ async connectWithProvider(params) {
275
+ var _this$authInstance, _params$extraLoginOpt;
276
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
277
+ const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId);
278
+ if (!chainConfig) throw index$1.WalletLoginError.connectionError("Chain config is not available");
279
+ const {
280
+ chainNamespace
281
+ } = chainConfig;
282
+
283
+ // if not logged in then login
284
+ const keyAvailable = chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 || chainNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA ? (_this$authInstance = this.authInstance) === null || _this$authInstance === void 0 ? void 0 : _this$authInstance.sessionId : this._getFinalPrivKey();
285
+ if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
286
+ var _params$extraLoginOpt2;
287
+ // always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
288
+ this.loginSettings.curve = auth.SUPPORTED_KEY_CURVES.OTHER;
289
+ if (!params.loginProvider && !this.loginSettings.loginProvider) throw index$1.WalletInitializationError.invalidParams("loginProvider is required for login");
290
+ await this.authInstance.login(deepmerge.all([this.loginSettings, params, {
291
+ extraLoginOptions: _objectSpread(_objectSpread({}, params.extraLoginOptions || {}), {}, {
292
+ login_hint: params.login_hint || ((_params$extraLoginOpt2 = params.extraLoginOptions) === null || _params$extraLoginOpt2 === void 0 ? void 0 : _params$extraLoginOpt2.login_hint)
293
+ })
294
+ }]));
295
+ }
296
+
297
+ // setup WS embed if chainNamespace is EIP155 or SOLANA
298
+ if (chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 || chainNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA) {
299
+ const {
300
+ sessionId,
301
+ sessionNamespace
302
+ } = this.authInstance || {};
303
+ if (sessionId) {
304
+ const isLoggedIn = await this.wsEmbedInstance.loginWithSessionId({
305
+ sessionId,
306
+ sessionNamespace
307
+ });
308
+ if (isLoggedIn) {
309
+ var _this$wsEmbedInstance3;
310
+ this.status = constants.CONNECTOR_STATUS.CONNECTED;
311
+ this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
312
+ connector: index.WALLET_CONNECTORS.AUTH,
313
+ reconnected: this.rehydrated,
314
+ provider: this.provider
315
+ });
316
+ // handle disconnect from ws embed
317
+ (_this$wsEmbedInstance3 = this.wsEmbedInstance) === null || _this$wsEmbedInstance3 === void 0 || _this$wsEmbedInstance3.provider.on("accountsChanged", (accounts = []) => {
318
+ if (accounts.length === 0 && this.status === constants.CONNECTOR_STATUS.CONNECTED) this.disconnect({
319
+ cleanup: false
320
+ });
321
+ });
322
+ }
323
+ }
324
+ } else {
325
+ // setup private key provider if chainNamespace is other
326
+ const finalPrivKey = this._getFinalPrivKey();
327
+ if (finalPrivKey) {
328
+ await this.privateKeyProvider.setupProvider(finalPrivKey, params.chainId);
329
+ this.status = constants.CONNECTOR_STATUS.CONNECTED;
330
+ this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
331
+ connector: index.WALLET_CONNECTORS.AUTH,
332
+ reconnected: this.rehydrated,
333
+ provider: this.provider
334
+ });
335
+ }
336
+ }
337
+ }
338
+ }
339
+ const authConnector = params => {
340
+ return ({
341
+ projectConfig,
342
+ coreOptions
343
+ }) => {
344
+ var _coreOptions$uiConfig, _coreOptions$walletSe;
345
+ // Connector settings
346
+ const connectorSettings = {};
347
+ const {
348
+ sms_otp_enabled: smsOtpEnabled,
349
+ whitelist
350
+ } = projectConfig;
351
+ if (smsOtpEnabled !== undefined) {
352
+ connectorSettings.loginConfig = {
353
+ [auth.LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
354
+ showOnModal: smsOtpEnabled,
355
+ showOnDesktop: smsOtpEnabled,
356
+ showOnMobile: smsOtpEnabled,
357
+ showOnSocialBackupFactor: smsOtpEnabled
358
+ }
359
+ };
360
+ }
361
+ if (whitelist) connectorSettings.originData = whitelist.signed_urls;
362
+ if ((_coreOptions$uiConfig = coreOptions.uiConfig) !== null && _coreOptions$uiConfig !== void 0 && _coreOptions$uiConfig.uxMode) connectorSettings.uxMode = coreOptions.uiConfig.uxMode;
363
+ const uiConfig = deepmerge(baseControllers.cloneDeep((projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.whitelabel) || {}), coreOptions.uiConfig || {});
364
+ if (!uiConfig.mode) uiConfig.mode = "light";
365
+ connectorSettings.whiteLabel = uiConfig;
366
+ const finalConnectorSettings = deepmerge.all([{
367
+ uxMode: auth.UX_MODE.POPUP
368
+ },
369
+ // default settings
370
+ (params === null || params === void 0 ? void 0 : params.connectorSettings) || {}, connectorSettings]);
371
+
372
+ // WS settings
373
+ const isKeyExportEnabled = typeof projectConfig.key_export_enabled === "boolean" ? projectConfig.key_export_enabled : true;
374
+ const finalWsSettings = _objectSpread(_objectSpread({}, coreOptions.walletServicesConfig), {}, {
375
+ whiteLabel: _objectSpread(_objectSpread({}, uiConfig), (_coreOptions$walletSe = coreOptions.walletServicesConfig) === null || _coreOptions$walletSe === void 0 ? void 0 : _coreOptions$walletSe.whiteLabel),
376
+ accountAbstractionConfig: coreOptions.accountAbstractionConfig,
377
+ enableLogging: coreOptions.enableLogging
378
+ // enableKeyExport: keyExportEnabled, TODO: add this to ws embed and implement in WS
379
+ });
380
+
381
+ // Core options
382
+ if (coreOptions.privateKeyProvider) coreOptions.privateKeyProvider.setKeyExportFlag(isKeyExportEnabled);
383
+ return new AuthConnector({
384
+ connectorSettings: finalConnectorSettings,
385
+ walletServicesSettings: finalWsSettings,
386
+ loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
387
+ coreOptions
388
+ });
389
+ };
390
+ };
391
+
392
+ exports.authConnector = authConnector;
@@ -1,25 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
- var config = require('../../base/chain/config.js');
5
- var IChainInterface = require('../../base/chain/IChainInterface.js');
4
+ var wsEmbed = require('@web3auth/ws-embed');
6
5
  var index = require('../../base/errors/index.js');
7
- var utils = require('../../base/adapter/utils.js');
8
- var baseAdapter = require('../../base/adapter/baseAdapter.js');
9
- var constants = require('../../base/adapter/constants.js');
6
+ var utils = require('../../base/connector/utils.js');
7
+ var baseConnector = require('../../base/connector/baseConnector.js');
8
+ var constants = require('../../base/connector/constants.js');
10
9
 
11
- class BaseEvmAdapter extends baseAdapter.BaseAdapter {
12
- async init(_) {
13
- if (!this.chainConfig) this.chainConfig = config.getChainConfig(IChainInterface.CHAIN_NAMESPACES.EIP155, 1);
14
- }
10
+ class BaseEvmConnector extends baseConnector.BaseConnector {
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
12
+ async init(_) {}
15
13
  async authenticateUser() {
16
- if (!this.provider || this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
17
- const {
18
- chainNamespace,
19
- chainId
20
- } = this.chainConfig;
14
+ if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
15
+ if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with valid options");
21
16
  const accounts = await this.provider.request({
22
- method: "eth_accounts"
17
+ method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
23
18
  });
24
19
  if (accounts && accounts.length > 0) {
25
20
  const existingToken = utils.getSavedToken(accounts[0], this.name);
@@ -31,6 +26,14 @@ class BaseEvmAdapter extends baseAdapter.BaseAdapter {
31
26
  };
32
27
  }
33
28
  }
29
+ const chainId = await this.provider.request({
30
+ method: "eth_chainId"
31
+ });
32
+ const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
33
+ if (!currentChainConfig) throw index.WalletInitializationError.invalidParams("chainConfig is required before authentication");
34
+ const {
35
+ chainNamespace
36
+ } = currentChainConfig;
34
37
  const payload = {
35
38
  domain: window.location.origin,
36
39
  uri: window.location.href,
@@ -43,10 +46,10 @@ class BaseEvmAdapter extends baseAdapter.BaseAdapter {
43
46
  const challenge = await baseControllers.signChallenge(payload, chainNamespace);
44
47
  const hexChallenge = `0x${Buffer.from(challenge, "utf8").toString("hex")}`;
45
48
  const signedMessage = await this.provider.request({
46
- method: "personal_sign",
49
+ method: wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN,
47
50
  params: [hexChallenge, accounts[0]]
48
51
  });
49
- const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
52
+ const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
50
53
  utils.saveToken(accounts[0], this.name, idToken);
51
54
  return {
52
55
  idToken
@@ -65,8 +68,8 @@ class BaseEvmAdapter extends baseAdapter.BaseAdapter {
65
68
  }
66
69
  async disconnect() {
67
70
  this.rehydrated = false;
68
- this.emit(constants.ADAPTER_EVENTS.DISCONNECTED);
71
+ this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
69
72
  }
70
73
  }
71
74
 
72
- exports.BaseEvmAdapter = BaseEvmAdapter;
75
+ exports.BaseEvmConnector = BaseEvmConnector;
@@ -1,26 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  var baseControllers = require('@toruslabs/base-controllers');
4
- var bs58 = require('bs58');
5
- var config = require('../../base/chain/config.js');
6
- var IChainInterface = require('../../base/chain/IChainInterface.js');
4
+ var wsEmbed = require('@web3auth/ws-embed');
7
5
  var index = require('../../base/errors/index.js');
8
- var baseAdapter = require('../../base/adapter/baseAdapter.js');
9
- var constants = require('../../base/adapter/constants.js');
10
- var utils = require('../../base/adapter/utils.js');
6
+ var baseConnector = require('../../base/connector/baseConnector.js');
7
+ var constants = require('../../base/connector/constants.js');
8
+ var utils = require('../../base/connector/utils.js');
11
9
 
12
- class BaseSolanaAdapter extends baseAdapter.BaseAdapter {
13
- async init(_) {
14
- if (!this.chainConfig) this.chainConfig = config.getChainConfig(IChainInterface.CHAIN_NAMESPACES.SOLANA, 1);
15
- }
10
+ class BaseSolanaConnector extends baseConnector.BaseConnector {
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
12
+ async init(_) {}
16
13
  async authenticateUser() {
17
- if (!this.provider || this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
18
- const {
19
- chainNamespace,
20
- chainId
21
- } = this.chainConfig;
14
+ if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
15
+ if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid options");
22
16
  const accounts = await this.provider.request({
23
- method: "getAccounts"
17
+ method: wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
24
18
  });
25
19
  if (accounts && accounts.length > 0) {
26
20
  const existingToken = utils.getSavedToken(accounts[0], this.name);
@@ -32,6 +26,14 @@ class BaseSolanaAdapter extends baseAdapter.BaseAdapter {
32
26
  };
33
27
  }
34
28
  }
29
+ const chainId = await this.provider.request({
30
+ method: "solana_chainId"
31
+ });
32
+ const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
33
+ if (!currentChainConfig) throw index.WalletInitializationError.invalidParams("chainConfig is required before authentication");
34
+ const {
35
+ chainNamespace
36
+ } = currentChainConfig;
35
37
  const payload = {
36
38
  domain: window.location.origin,
37
39
  uri: window.location.href,
@@ -42,15 +44,14 @@ class BaseSolanaAdapter extends baseAdapter.BaseAdapter {
42
44
  issuedAt: new Date().toISOString()
43
45
  };
44
46
  const challenge = await baseControllers.signChallenge(payload, chainNamespace);
45
- const encodedMessage = new TextEncoder().encode(challenge);
46
47
  const signedMessage = await this.provider.request({
47
- method: "signMessage",
48
+ method: wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE,
48
49
  params: {
49
- message: encodedMessage,
50
+ data: challenge,
50
51
  display: "utf8"
51
52
  }
52
53
  });
53
- const idToken = await baseControllers.verifySignedChallenge(chainNamespace, bs58.encode(signedMessage), challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
54
+ const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
54
55
  utils.saveToken(accounts[0], this.name, idToken);
55
56
  return {
56
57
  idToken
@@ -61,7 +62,7 @@ class BaseSolanaAdapter extends baseAdapter.BaseAdapter {
61
62
  async disconnectSession() {
62
63
  super.checkDisconnectionRequirements();
63
64
  const accounts = await this.provider.request({
64
- method: "getAccounts"
65
+ method: wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
65
66
  });
66
67
  if (accounts && accounts.length > 0) {
67
68
  utils.clearToken(accounts[0], this.name);
@@ -69,8 +70,8 @@ class BaseSolanaAdapter extends baseAdapter.BaseAdapter {
69
70
  }
70
71
  async disconnect() {
71
72
  this.rehydrated = false;
72
- this.emit(constants.ADAPTER_EVENTS.DISCONNECTED);
73
+ this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
73
74
  }
74
75
  }
75
76
 
76
- exports.BaseSolanaAdapter = BaseSolanaAdapter;
77
+ exports.BaseSolanaConnector = BaseSolanaConnector;