@web3auth/no-modal 10.15.0 → 11.0.0-beta.0

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 (321) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  2. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  3. package/dist/lib.cjs/base/connector/constants.js +4 -2
  4. package/dist/lib.cjs/base/connector/utils.js +0 -21
  5. package/dist/lib.cjs/base/constants.js +4 -0
  6. package/dist/lib.cjs/base/cookie.js +6 -20
  7. package/dist/lib.cjs/base/errors/index.js +36 -12
  8. package/dist/lib.cjs/base/utils.js +10 -11
  9. package/dist/lib.cjs/base/wallet/index.js +7 -0
  10. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  11. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
  12. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  13. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
  14. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
  15. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  16. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  17. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  18. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
  19. package/dist/lib.cjs/connectors/utils.js +8 -2
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +36 -71
  26. package/dist/lib.cjs/noModal.js +223 -133
  27. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  31. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  32. package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
  33. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  34. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  35. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  36. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  37. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  38. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  39. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  41. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  42. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  43. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  44. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  45. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  46. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  47. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
  48. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  49. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  50. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  51. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  52. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  53. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  54. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  55. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  57. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  58. package/dist/lib.cjs/react/index.js +10 -2
  59. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  60. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  61. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  62. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  63. package/dist/lib.cjs/react/solana/index.js +2 -0
  64. package/dist/lib.cjs/react/solana/provider.js +167 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
  67. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  68. package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
  69. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
  70. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  71. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  72. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  73. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
  74. package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
  75. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
  77. package/dist/lib.cjs/types/base/utils.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  79. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
  81. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  82. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
  83. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
  84. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  85. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  86. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  87. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  88. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  89. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  90. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  91. package/dist/lib.cjs/types/noModal.d.ts +12 -8
  92. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  94. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  95. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  96. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  97. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  98. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  99. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  101. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  102. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  105. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  106. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  107. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  108. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  109. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  112. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  113. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  115. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  116. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  117. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  118. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  119. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  120. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  121. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  122. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  123. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  125. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  128. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  130. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  131. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  132. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  134. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  135. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  136. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  137. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  138. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  139. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  140. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  141. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  142. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  143. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  146. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  147. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  153. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  157. package/dist/lib.cjs/vue/index.js +8 -2
  158. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  159. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  163. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  164. package/dist/lib.cjs/vue/solana/index.js +6 -0
  165. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  166. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  167. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  168. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  169. package/dist/lib.cjs/x402/index.js +175 -0
  170. package/dist/lib.cjs/x402/interfaces.js +5 -0
  171. package/dist/lib.cjs/x402/react.js +64 -0
  172. package/dist/lib.cjs/x402/vue.js +58 -0
  173. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  174. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  175. package/dist/lib.esm/base/connector/constants.js +4 -2
  176. package/dist/lib.esm/base/connector/utils.js +1 -19
  177. package/dist/lib.esm/base/constants.js +4 -1
  178. package/dist/lib.esm/base/cookie.js +7 -20
  179. package/dist/lib.esm/base/errors/index.js +36 -12
  180. package/dist/lib.esm/base/utils.js +10 -7
  181. package/dist/lib.esm/base/wallet/index.js +2 -1
  182. package/dist/lib.esm/base/wallet/solana.js +81 -0
  183. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  184. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  185. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  186. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  187. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  188. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  190. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  191. package/dist/lib.esm/connectors/utils.js +9 -4
  192. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  193. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  194. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  197. package/dist/lib.esm/index.js +9 -17
  198. package/dist/lib.esm/noModal.js +225 -133
  199. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  200. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  201. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  202. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  203. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  204. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  205. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  206. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  207. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  208. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  210. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  211. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  212. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  213. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  214. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  215. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  216. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  217. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  218. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  219. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  220. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  221. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  222. package/dist/lib.esm/react/index.js +5 -1
  223. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  224. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  225. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  226. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  227. package/dist/lib.esm/react/solana/index.js +1 -0
  228. package/dist/lib.esm/react/solana/provider.js +150 -0
  229. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  230. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  231. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  232. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  233. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  234. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  235. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  236. package/dist/lib.esm/vue/index.js +4 -1
  237. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  238. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  239. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  240. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  241. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  242. package/dist/lib.esm/vue/solana/constants.js +3 -0
  243. package/dist/lib.esm/vue/solana/index.js +3 -0
  244. package/dist/lib.esm/vue/solana/provider.js +95 -0
  245. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  246. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  247. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  248. package/dist/lib.esm/x402/index.js +170 -0
  249. package/dist/lib.esm/x402/interfaces.js +3 -0
  250. package/dist/lib.esm/x402/react.js +59 -0
  251. package/dist/lib.esm/x402/vue.js +54 -0
  252. package/package.json +78 -53
  253. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  254. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  255. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  256. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  257. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  258. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  259. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  260. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  261. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  263. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  264. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  265. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  266. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  267. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  268. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  269. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  270. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  271. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  272. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  273. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  274. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  275. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  276. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  279. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  280. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  282. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  283. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  288. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  289. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  290. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  291. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  293. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  295. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  297. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  298. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  300. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  301. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  302. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  303. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  304. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  305. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  306. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  307. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  308. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  309. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  310. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  311. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  312. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  313. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  314. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  315. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  316. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  317. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  318. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  319. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  320. package/dist/noModal.umd.min.js +0 -2
  321. package/dist/noModal.umd.min.js.LICENSE.txt +0 -48
@@ -7,33 +7,24 @@ var auth = require('@web3auth/auth');
7
7
  require('@segment/analytics-next');
8
8
  var loglevel = require('../../base/loglevel.js');
9
9
  var baseControllers = require('@toruslabs/base-controllers');
10
+ require('@toruslabs/session-manager');
10
11
  var index = require('../../base/errors/index.js');
12
+ require('@toruslabs/constants');
13
+ require('@toruslabs/http-helpers');
14
+ require('../../base/constants.js');
11
15
  require('../../base/wallet/index.js');
12
16
  require('../../base/connector/connectorStatus.js');
13
17
  require('../../base/connector/constants.js');
14
18
  require('jwt-decode');
15
19
  require('../../base/plugin/errors.js');
16
20
  require('../../base/plugin/IPlugin.js');
17
- require('@toruslabs/constants');
18
- require('@toruslabs/http-helpers');
19
21
  var baseProvider = require('../../providers/base-provider/baseProvider.js');
20
22
  require('../../providers/base-provider/CommonJRPCProvider.js');
21
23
  require('../../providers/base-provider/commonPrivateKeyProvider.js');
22
24
  require('../../providers/base-provider/utils.js');
23
- require('@ethereumjs/util');
24
- require('bignumber.js');
25
- require('../../providers/ethereum-provider/providers/converter.js');
26
- require('bn.js');
27
- require('../../providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js');
28
25
  var ethRpcMiddlewares = require('../../providers/ethereum-provider/rpc/ethRpcMiddlewares.js');
29
26
  var jrpcClient = require('../../providers/ethereum-provider/rpc/jrpcClient.js');
30
27
  require('viem');
31
- require('@solana/wallet-standard-features');
32
- require('@solana/web3.js');
33
- require('@toruslabs/bs58');
34
- var JrpcClient = require('../../providers/solana-provider/rpc/JrpcClient.js');
35
- var solanaRpcMiddlewares = require('../../providers/solana-provider/rpc/solanaRpcMiddlewares.js');
36
- require('@web3auth/ws-embed');
37
28
  var utils$1 = require('./utils.js');
38
29
  var walletConnectV2Utils = require('./walletConnectV2Utils.js');
39
30
 
@@ -114,7 +105,11 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
114
105
  if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
115
106
  await this.setupEthEngine(connector, chainId);
116
107
  } else if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
117
- await this.setupSolEngine(connector, chainId);
108
+ // Solana operations are handled via WCSolanaWallet directly; only update accounts state.
109
+ const accounts = await walletConnectV2Utils.getAccounts(connector);
110
+ this.update({
111
+ accounts: accounts || []
112
+ });
118
113
  } else {
119
114
  throw new Error(`Unsupported chainNamespace: ${chain.chainNamespace}`);
120
115
  }
@@ -139,34 +134,13 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
139
134
  });
140
135
  const ethMiddleware = ethRpcMiddlewares.createEthMiddleware(providerHandlers);
141
136
  const chainSwitchMiddleware = this.getEthChainSwitchMiddleware();
142
- const engine = new auth.JRPCEngine();
143
137
  const {
144
138
  networkMiddleware
145
139
  } = jrpcClient.createEthJsonRpcClient(chain);
146
- engine.push(ethMiddleware);
147
- engine.push(chainSwitchMiddleware);
148
- engine.push(networkMiddleware);
149
- const provider = auth.providerFromEngine(engine);
150
- this.updateProviderEngineProxy(provider);
151
- }
152
- async setupSolEngine(connector, chainId) {
153
- const chain = this.getChain(chainId);
154
- const providerHandlers = walletConnectV2Utils.getSolProviderHandlers({
155
- connector,
156
- chainId
140
+ const engine = auth.JRPCEngineV2.create({
141
+ middleware: [ethMiddleware, chainSwitchMiddleware, networkMiddleware]
157
142
  });
158
- const jrpcRes = await walletConnectV2Utils.getAccounts(connector);
159
- this.update({
160
- accounts: jrpcRes || []
161
- });
162
- const solMiddleware = solanaRpcMiddlewares.createSolanaMiddleware(providerHandlers);
163
- const engine = new auth.JRPCEngine();
164
- const {
165
- networkMiddleware
166
- } = JrpcClient.createSolanaJsonRpcClient(chain);
167
- engine.push(solMiddleware);
168
- engine.push(networkMiddleware);
169
- const provider = auth.providerFromEngine(engine);
143
+ const provider = auth.providerFromEngineV2(engine);
170
144
  this.updateProviderEngineProxy(provider);
171
145
  }
172
146
  getEthChainSwitchMiddleware() {
@@ -5,17 +5,18 @@ require('@babel/runtime/helpers/defineProperty');
5
5
  require('@segment/analytics-next');
6
6
  require('../../base/loglevel.js');
7
7
  var baseControllers = require('@toruslabs/base-controllers');
8
+ require('@toruslabs/session-manager');
8
9
  require('@web3auth/auth');
9
10
  require('../../base/errors/index.js');
11
+ require('@toruslabs/constants');
12
+ require('@toruslabs/http-helpers');
13
+ var constants = require('../../base/constants.js');
10
14
  require('../../base/wallet/index.js');
11
15
  require('../../base/connector/connectorStatus.js');
12
16
  require('../../base/connector/constants.js');
13
17
  require('jwt-decode');
14
- var constants = require('../../base/constants.js');
15
18
  require('../../base/plugin/errors.js');
16
19
  require('../../base/plugin/IPlugin.js');
17
- require('@toruslabs/constants');
18
- require('@toruslabs/http-helpers');
19
20
  var utils = require('../utils.js');
20
21
 
21
22
  exports.DEFAULT_EIP155_METHODS = void 0;
@@ -4,16 +4,18 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
5
  var baseControllers = require('@toruslabs/base-controllers');
6
6
  var Client = require('@walletconnect/sign-client');
7
- var utils$2 = require('@walletconnect/utils');
7
+ var utils$1 = require('@walletconnect/utils');
8
8
  var wsEmbed = require('@web3auth/ws-embed');
9
9
  var deepmerge = require('deepmerge');
10
+ var siwe = require('viem/siwe');
10
11
  var analytics = require('../../base/analytics.js');
11
12
  var IChainInterface = require('../../base/chain/IChainInterface.js');
12
13
  var baseConnector = require('../../base/connector/baseConnector.js');
13
14
  require('../../base/connector/connectorStatus.js');
14
15
  var constants = require('../../base/connector/constants.js');
15
16
  require('@web3auth/auth');
16
- var utils$1 = require('../../base/connector/utils.js');
17
+ require('jwt-decode');
18
+ var constants$1 = require('../../base/constants.js');
17
19
  var index$1 = require('../../base/errors/index.js');
18
20
  var loglevel = require('../../base/loglevel.js');
19
21
  require('../../base/plugin/errors.js');
@@ -22,6 +24,8 @@ var utils = require('../../base/utils.js');
22
24
  var index = require('../../base/wallet/index.js');
23
25
  var config = require('./config.js');
24
26
  var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
27
+ var wcSolanaWallet = require('./wcSolanaWallet.js');
28
+ var solana = require('../../base/wallet/solana.js');
25
29
 
26
30
  class WalletConnectV2Connector extends baseConnector.BaseConnector {
27
31
  constructor(options) {
@@ -39,6 +43,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
39
43
  _defineProperty(this, "connector", null);
40
44
  _defineProperty(this, "activeSession", null);
41
45
  _defineProperty(this, "wcProvider", null);
46
+ _defineProperty(this, "_solanaWallet", null);
42
47
  _defineProperty(this, "analytics", void 0);
43
48
  this.connectorOptions = _objectSpread({}, options);
44
49
  const {
@@ -66,6 +71,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
66
71
  }
67
72
  return null;
68
73
  }
74
+ get solanaWallet() {
75
+ return this._solanaWallet;
76
+ }
69
77
  set provider(_) {
70
78
  throw new Error("Not implemented");
71
79
  }
@@ -106,7 +114,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
106
114
  try {
107
115
  await this.onConnectHandler({
108
116
  chain: chainConfig,
109
- getIdentityToken: options.getIdentityToken
117
+ getAuthTokenInfo: options.getAuthTokenInfo
110
118
  });
111
119
  } catch (error) {
112
120
  loglevel.log.error("wallet auto connect", error);
@@ -120,7 +128,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
120
128
  }
121
129
  async connect({
122
130
  chainId,
123
- getIdentityToken
131
+ getAuthTokenInfo
124
132
  }) {
125
133
  super.checkConnectionRequirements();
126
134
  const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
@@ -171,18 +179,26 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
171
179
  if (this.connected) {
172
180
  await this.onConnectHandler({
173
181
  chain: chainConfig,
174
- getIdentityToken
182
+ getAuthTokenInfo
175
183
  });
176
- return this.provider;
184
+ return {
185
+ ethereumProvider: this.provider,
186
+ solanaWallet: this._solanaWallet,
187
+ connectorName: this.name
188
+ };
177
189
  }
178
190
  if (this.status !== constants.CONNECTOR_STATUS.CONNECTING) {
179
191
  await this.createNewSession({
180
192
  chainConfig,
181
193
  trackCompletionEvents,
182
- getIdentityToken
194
+ getAuthTokenInfo
183
195
  });
184
196
  }
185
- return this.provider;
197
+ return {
198
+ ethereumProvider: this.provider,
199
+ solanaWallet: this._solanaWallet,
200
+ connectorName: this.name
201
+ };
186
202
  } catch (error) {
187
203
  loglevel.log.error("Wallet connect v2 connector error while connecting", error);
188
204
  // ready again to be connected
@@ -228,9 +244,11 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
228
244
  if (!this.connector || !this.connected || !((_this$activeSession2 = this.activeSession) !== null && _this$activeSession2 !== void 0 && _this$activeSession2.topic)) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
229
245
  if (!options.sessionRemovedByWallet) await this.connector.disconnect({
230
246
  topic: (_this$activeSession3 = this.activeSession) === null || _this$activeSession3 === void 0 ? void 0 : _this$activeSession3.topic,
231
- reason: utils$2.getSdkError("USER_DISCONNECTED")
247
+ reason: utils$1.getSdkError("USER_DISCONNECTED")
232
248
  });
249
+ await this.clearWalletSession();
233
250
  this.rehydrated = false;
251
+ this._solanaWallet = null;
234
252
  if (cleanup) {
235
253
  this.connector = null;
236
254
  this.status = constants.CONNECTOR_STATUS.NOT_READY;
@@ -242,7 +260,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
242
260
  this.activeSession = null;
243
261
  this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
244
262
  }
245
- async getIdentityToken() {
263
+ async getAuthTokenInfo() {
246
264
  if (!this.provider || !this.canAuthorize) throw index$1.WalletLoginError.notConnectedError();
247
265
  this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
248
266
  this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
@@ -256,49 +274,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
256
274
  const {
257
275
  chainNamespace
258
276
  } = currentChainConfig;
259
- const accounts = await this.provider.request({
260
- method: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS : wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
277
+ const accounts = chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
278
+ method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
261
279
  });
262
280
  if (accounts && accounts.length > 0) {
263
- const existingToken = utils$1.getSavedToken(accounts[0], this.name);
264
- if (existingToken) {
265
- const isExpired = utils$1.checkIfTokenIsExpired(existingToken);
266
- if (!isExpired) {
267
- this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
268
- this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
269
- connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
270
- identityTokenInfo: {
271
- idToken: existingToken
272
- }
273
- });
274
- return {
275
- idToken: existingToken
276
- };
277
- }
278
- }
281
+ const cached = await this.getCachedOrNullAuthTokenInfo(accounts[0]);
282
+ if (cached) return cached;
279
283
  const payload = {
280
284
  domain: window.location.origin,
281
285
  uri: window.location.href,
282
286
  address: accounts[0],
283
287
  chainId: parseInt(chainId, 16),
284
288
  version: "1",
285
- nonce: Math.random().toString(36).slice(2),
289
+ nonce: siwe.generateSiweNonce(),
286
290
  issuedAt: new Date().toISOString()
287
291
  };
288
- const challenge = await baseControllers.signChallenge(payload, chainNamespace);
292
+ const authServer = utils.citadelServerUrl(this.coreOptions.authBuildEnv);
293
+ const challenge = await baseControllers.signChallenge(payload, chainNamespace, authServer);
289
294
  const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
290
- const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
291
- utils$1.saveToken(accounts[0], this.name, idToken);
292
- this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
293
- this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
294
- connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
295
- identityTokenInfo: {
296
- idToken
297
- }
295
+ return this.verifyAndAuthorize({
296
+ chainNamespace,
297
+ signedMessage: signedMessage,
298
+ challenge,
299
+ authServer
298
300
  });
299
- return {
300
- idToken
301
- };
302
301
  }
303
302
  throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
304
303
  }
@@ -313,10 +312,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
313
312
  const inactivePairings = this.connector.pairing.getAll({
314
313
  active: false
315
314
  });
316
- if (!utils$2.isValidArray(inactivePairings)) return;
315
+ if (!utils$1.isValidArray(inactivePairings)) return;
317
316
  inactivePairings.forEach(pairing => {
318
317
  if (this.connector) {
319
- this.connector.pairing.delete(pairing.topic, utils$2.getSdkError("USER_DISCONNECTED"));
318
+ this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
320
319
  }
321
320
  });
322
321
  }
@@ -332,7 +331,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
332
331
  forceNewSession = false,
333
332
  chainConfig,
334
333
  trackCompletionEvents,
335
- getIdentityToken
334
+ getAuthTokenInfo
336
335
  }) {
337
336
  try {
338
337
  var _this$activeSession4, _this$connectorOption7;
@@ -346,7 +345,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
346
345
  var _this$activeSession5;
347
346
  await this.connector.disconnect({
348
347
  topic: (_this$activeSession5 = this.activeSession) === null || _this$activeSession5 === void 0 ? void 0 : _this$activeSession5.topic,
349
- reason: utils$2.getSdkError("USER_DISCONNECTED")
348
+ reason: utils$1.getSdkError("USER_DISCONNECTED")
350
349
  });
351
350
  }
352
351
  const {
@@ -381,7 +380,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
381
380
  await this.onConnectHandler({
382
381
  chain: chainConfig,
383
382
  trackCompletionEvents,
384
- getIdentityToken
383
+ getAuthTokenInfo
385
384
  });
386
385
  if (qrcodeModal) {
387
386
  qrcodeModal.closeModal();
@@ -396,7 +395,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
396
395
  return this.createNewSession({
397
396
  forceNewSession: true,
398
397
  chainConfig,
399
- getIdentityToken
398
+ getAuthTokenInfo
400
399
  });
401
400
  }
402
401
  if (this.status === constants.CONNECTOR_STATUS.READY) {
@@ -412,9 +411,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
412
411
  async onConnectHandler({
413
412
  chain,
414
413
  trackCompletionEvents,
415
- getIdentityToken
414
+ getAuthTokenInfo
416
415
  }) {
417
- var _this$connectorOption8;
416
+ var _this$connectorOption8, _this$activeSession$n, _this$activeSession6;
418
417
  if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet connect connector is not ready yet");
419
418
  this.subscribeEvents();
420
419
  if ((_this$connectorOption8 = this.connectorOptions.connectorSettings) !== null && _this$connectorOption8 !== void 0 && _this$connectorOption8.qrcodeModal) {
@@ -428,19 +427,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
428
427
  });
429
428
  }
430
429
  await this.wcProvider.setupProvider(this.connector);
430
+ // Derive the active Solana chain from the WC session namespaces (genesis hash → hex chainId),
431
+ // rather than picking the first Solana chain from coreOptions which may not match the session.
432
+ const sessionSolanaChains = (_this$activeSession$n = (_this$activeSession6 = this.activeSession) === null || _this$activeSession6 === void 0 || (_this$activeSession6 = _this$activeSession6.namespaces) === null || _this$activeSession6 === void 0 || (_this$activeSession6 = _this$activeSession6.solana) === null || _this$activeSession6 === void 0 ? void 0 : _this$activeSession6.chains) !== null && _this$activeSession$n !== void 0 ? _this$activeSession$n : [];
433
+ if (sessionSolanaChains.length > 0) {
434
+ const reverseMap = Object.fromEntries(Object.entries(constants$1.SOLANA_CAIP_CHAIN_MAP).map(([hex, hash]) => [hash, hex]));
435
+ const genesisHash = sessionSolanaChains[0].split(":")[1];
436
+ const hexChainId = reverseMap[genesisHash];
437
+ const solanaChain = hexChainId ? this.coreOptions.chains.find(c => c.chainId === hexChainId) : null;
438
+ if (solanaChain) {
439
+ this._solanaWallet = await wcSolanaWallet.WCSolanaWallet.create(this.connector, solanaChain);
440
+ }
441
+ }
431
442
  this.cleanupPendingPairings();
432
443
  this.status = constants.CONNECTOR_STATUS.CONNECTED;
433
444
  // track connection events
434
445
  if (trackCompletionEvents) trackCompletionEvents();
435
- let identityTokenInfo;
436
446
  this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
437
- connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
447
+ connectorName: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
438
448
  reconnected: this.rehydrated,
439
- provider: this.provider,
440
- identityTokenInfo
449
+ ethereumProvider: this.provider,
450
+ solanaWallet: this._solanaWallet
441
451
  });
442
- if (getIdentityToken) {
443
- identityTokenInfo = await this.getIdentityToken();
452
+ if (getAuthTokenInfo) {
453
+ await this.getAuthTokenInfo();
444
454
  }
445
455
  }
446
456
  subscribeEvents() {
@@ -470,10 +480,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
470
480
  this.connector.events.on("session_expire", ({
471
481
  topic
472
482
  }) => {
473
- var _this$activeSession6;
483
+ var _this$activeSession7;
474
484
  // Session has expired -> clean up the session
475
485
  loglevel.log.info("Session expired event received for topic:", topic);
476
- if (((_this$activeSession6 = this.activeSession) === null || _this$activeSession6 === void 0 ? void 0 : _this$activeSession6.topic) === topic) {
486
+ if (((_this$activeSession7 = this.activeSession) === null || _this$activeSession7 === void 0 ? void 0 : _this$activeSession7.topic) === topic) {
477
487
  this.disconnect({
478
488
  sessionRemovedByWallet: true
479
489
  }).catch(error => {
@@ -483,13 +493,13 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
483
493
  });
484
494
  }
485
495
  async _getSignedMessage(challenge, accounts, chainNamespace) {
486
- const signedMessage = await this.provider.request({
487
- method: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN : wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE,
488
- params: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
489
- data: challenge
490
- }
496
+ if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet) {
497
+ return solana.walletSignMessage(this._solanaWallet, challenge, accounts[0]);
498
+ }
499
+ return this.provider.request({
500
+ method: wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN,
501
+ params: [challenge, accounts[0]]
491
502
  });
492
- return signedMessage;
493
503
  }
494
504
  }
495
505
  const walletConnectV2Connector = params => {
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
- var bs58 = require('@toruslabs/bs58');
5
4
  var ethereumControllers = require('@toruslabs/ethereum-controllers');
6
5
  var utils$1 = require('@walletconnect/utils');
7
6
  var auth = require('@web3auth/auth');
8
7
  var wsEmbed = require('@web3auth/ws-embed');
9
8
  require('@babel/runtime/helpers/defineProperty');
10
9
  require('@segment/analytics-next');
11
- require('../../base/loglevel.js');
10
+ var loglevel = require('../../base/loglevel.js');
12
11
  require('@toruslabs/base-controllers');
12
+ require('@toruslabs/session-manager');
13
13
  var index = require('../../base/errors/index.js');
14
+ require('@toruslabs/constants');
15
+ require('@toruslabs/http-helpers');
16
+ require('../../base/constants.js');
14
17
  require('../../base/wallet/index.js');
15
18
  require('../../base/connector/connectorStatus.js');
16
19
  require('../../base/connector/constants.js');
17
20
  require('jwt-decode');
18
- var constants = require('../../base/constants.js');
19
21
  require('../../base/plugin/errors.js');
20
22
  require('../../base/plugin/IPlugin.js');
21
- require('@toruslabs/constants');
22
- require('@toruslabs/http-helpers');
23
23
  var utils = require('./utils.js');
24
24
 
25
25
  async function getLastActiveSession(signClient) {
@@ -42,7 +42,16 @@ async function sendJrpcRequest(signClient, chainId, method, params) {
42
42
  }
43
43
  if (typeof window !== "undefined" && isMobileDevice()) {
44
44
  if (session.peer.metadata.redirect && session.peer.metadata.redirect.native) {
45
- window.open(session.peer.metadata.redirect.native, "_blank");
45
+ const redirectUrl = session.peer.metadata.redirect.native;
46
+ try {
47
+ const parsedUrl = new URL(redirectUrl);
48
+ if (["javascript:", "data:", "vbscript:"].includes(parsedUrl.protocol)) {
49
+ throw new Error("Invalid redirect scheme");
50
+ }
51
+ window.open(parsedUrl.href, "_blank");
52
+ } catch (e) {
53
+ loglevel.log.error("Invalid redirect URL", e);
54
+ }
46
55
  }
47
56
  }
48
57
  return signClient.request({
@@ -69,6 +78,14 @@ async function getAccounts(signClient) {
69
78
  }
70
79
  throw index.WalletLoginError.connectionError("Failed to get accounts");
71
80
  }
81
+ async function getSolanaAccounts(signClient) {
82
+ const session = await getLastActiveSession(signClient);
83
+ if (!session) {
84
+ throw auth.providerErrors.disconnected();
85
+ }
86
+ const accounts = utils$1.getAccountsFromNamespaces(session.namespaces);
87
+ return [...new Set(accounts.filter(add => add.startsWith("solana:")).map(add => utils$1.parseAccountId(add).address))];
88
+ }
72
89
  function getEthProviderHandlers({
73
90
  connector,
74
91
  chainId
@@ -124,50 +141,6 @@ function getEthProviderHandlers({
124
141
  }
125
142
  };
126
143
  }
127
- function getSolProviderHandlers({
128
- connector,
129
- chainId
130
- }) {
131
- return {
132
- requestAccounts: async _ => {
133
- return getAccounts(connector);
134
- },
135
- getPrivateKey: async () => {
136
- throw auth.rpcErrors.methodNotSupported();
137
- },
138
- getSecretKey: async () => {
139
- throw auth.rpcErrors.methodNotSupported();
140
- },
141
- getPublicKey: async () => {
142
- throw auth.rpcErrors.methodNotSupported();
143
- },
144
- getAccounts: async _ => {
145
- return getAccounts(connector);
146
- },
147
- signAllTransactions: async _ => {
148
- throw auth.rpcErrors.methodNotSupported();
149
- },
150
- signAndSendTransaction: async _ => {
151
- throw auth.rpcErrors.methodNotSupported();
152
- },
153
- signMessage: async req => {
154
- const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, {
155
- message: bs58.bs58.encode(Buffer.from(req.params.data, "utf-8"))
156
- });
157
- return methodRes.signature;
158
- },
159
- signTransaction: async req => {
160
- const accounts = await getAccounts(connector);
161
- if (accounts.length === 0) {
162
- throw auth.providerErrors.disconnected();
163
- }
164
- const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, {
165
- transaction: req.params.message
166
- });
167
- return methodRes.signature;
168
- }
169
- };
170
- }
171
144
  async function switchChain({
172
145
  connector,
173
146
  chainId,
@@ -198,6 +171,6 @@ async function addChain({
198
171
  exports.addChain = addChain;
199
172
  exports.getAccounts = getAccounts;
200
173
  exports.getEthProviderHandlers = getEthProviderHandlers;
201
- exports.getSolProviderHandlers = getSolProviderHandlers;
174
+ exports.getSolanaAccounts = getSolanaAccounts;
202
175
  exports.sendJrpcRequest = sendJrpcRequest;
203
176
  exports.switchChain = switchChain;