@web3auth/no-modal 10.14.1 → 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 (326) 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 +13 -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 +40 -47
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +50 -85
  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 -35
  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/interfaces.d.ts +6 -0
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  101. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  102. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  105. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  106. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  107. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  108. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  109. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  110. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  111. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  112. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  113. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  115. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  116. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  117. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  118. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  119. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  120. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  121. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  122. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  123. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  124. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  125. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  126. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  128. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  130. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  131. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  132. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  133. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  134. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  135. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  136. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  137. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  138. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  139. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  140. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  141. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  142. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  143. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  146. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  147. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  153. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  157. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  158. package/dist/lib.cjs/vue/index.js +8 -2
  159. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  163. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  164. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  165. package/dist/lib.cjs/vue/solana/index.js +6 -0
  166. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  167. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  168. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  169. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  170. package/dist/lib.cjs/x402/index.js +175 -0
  171. package/dist/lib.cjs/x402/interfaces.js +5 -0
  172. package/dist/lib.cjs/x402/react.js +64 -0
  173. package/dist/lib.cjs/x402/vue.js +58 -0
  174. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  175. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  176. package/dist/lib.esm/base/connector/constants.js +4 -2
  177. package/dist/lib.esm/base/connector/utils.js +1 -19
  178. package/dist/lib.esm/base/constants.js +4 -1
  179. package/dist/lib.esm/base/cookie.js +7 -20
  180. package/dist/lib.esm/base/errors/index.js +36 -12
  181. package/dist/lib.esm/base/utils.js +10 -7
  182. package/dist/lib.esm/base/wallet/index.js +2 -1
  183. package/dist/lib.esm/base/wallet/solana.js +81 -0
  184. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  185. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  186. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  187. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  188. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-evm-connector/index.js +6 -1
  190. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  191. package/dist/lib.esm/connectors/injected-solana-connector/index.js +3 -2
  192. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  193. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  194. package/dist/lib.esm/connectors/utils.js +9 -4
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  197. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +5 -1
  198. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  199. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +37 -45
  200. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  201. package/dist/lib.esm/index.js +30 -38
  202. package/dist/lib.esm/noModal.js +225 -133
  203. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  204. package/dist/lib.esm/providers/account-abstraction-provider/index.js +5 -1
  205. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  206. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  207. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  208. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  209. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  210. package/dist/lib.esm/providers/base-provider/index.js +6 -2
  211. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  212. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  213. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -36
  214. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  215. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  216. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  217. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  218. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  219. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  220. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  221. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  222. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  223. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  224. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  225. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  226. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  227. package/dist/lib.esm/react/index.js +5 -1
  228. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  229. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  230. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  231. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  232. package/dist/lib.esm/react/solana/index.js +1 -0
  233. package/dist/lib.esm/react/solana/provider.js +150 -0
  234. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  235. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  236. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  237. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  238. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  239. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  240. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  241. package/dist/lib.esm/vue/index.js +5 -2
  242. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  243. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  244. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  245. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  246. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  247. package/dist/lib.esm/vue/solana/constants.js +3 -0
  248. package/dist/lib.esm/vue/solana/index.js +3 -0
  249. package/dist/lib.esm/vue/solana/provider.js +95 -0
  250. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  251. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  252. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  253. package/dist/lib.esm/x402/index.js +170 -0
  254. package/dist/lib.esm/x402/interfaces.js +3 -0
  255. package/dist/lib.esm/x402/react.js +59 -0
  256. package/dist/lib.esm/x402/vue.js +54 -0
  257. package/package.json +78 -53
  258. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  259. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -223
  260. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  261. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  263. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  264. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  265. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  266. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  267. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  268. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -171
  269. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  270. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  271. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  272. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  273. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  274. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  275. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  276. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  279. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  280. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  282. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  283. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  288. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  289. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  290. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  291. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  293. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  295. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  297. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  298. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  300. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  301. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  302. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  303. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  304. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  305. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  306. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  307. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  308. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  309. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  310. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  311. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  312. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  313. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  314. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  315. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  316. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  317. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -177
  318. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  319. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  320. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  321. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  322. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  323. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  324. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  325. package/dist/noModal.umd.min.js +0 -2
  326. package/dist/noModal.umd.min.js.LICENSE.txt +0 -50
@@ -7,32 +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
- require('@solana/wallet-standard-features');
31
- require('@solana/web3.js');
32
- require('@toruslabs/bs58');
33
- var JrpcClient = require('../../providers/solana-provider/rpc/JrpcClient.js');
34
- var solanaRpcMiddlewares = require('../../providers/solana-provider/rpc/solanaRpcMiddlewares.js');
35
- require('@web3auth/ws-embed');
27
+ require('viem');
36
28
  var utils$1 = require('./utils.js');
37
29
  var walletConnectV2Utils = require('./walletConnectV2Utils.js');
38
30
 
@@ -113,7 +105,11 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
113
105
  if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
114
106
  await this.setupEthEngine(connector, chainId);
115
107
  } else if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
116
- 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
+ });
117
113
  } else {
118
114
  throw new Error(`Unsupported chainNamespace: ${chain.chainNamespace}`);
119
115
  }
@@ -138,34 +134,13 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
138
134
  });
139
135
  const ethMiddleware = ethRpcMiddlewares.createEthMiddleware(providerHandlers);
140
136
  const chainSwitchMiddleware = this.getEthChainSwitchMiddleware();
141
- const engine = new auth.JRPCEngine();
142
137
  const {
143
138
  networkMiddleware
144
139
  } = jrpcClient.createEthJsonRpcClient(chain);
145
- engine.push(ethMiddleware);
146
- engine.push(chainSwitchMiddleware);
147
- engine.push(networkMiddleware);
148
- const provider = auth.providerFromEngine(engine);
149
- this.updateProviderEngineProxy(provider);
150
- }
151
- async setupSolEngine(connector, chainId) {
152
- const chain = this.getChain(chainId);
153
- const providerHandlers = walletConnectV2Utils.getSolProviderHandlers({
154
- connector,
155
- chainId
140
+ const engine = auth.JRPCEngineV2.create({
141
+ middleware: [ethMiddleware, chainSwitchMiddleware, networkMiddleware]
156
142
  });
157
- const jrpcRes = await walletConnectV2Utils.getAccounts(connector);
158
- this.update({
159
- accounts: jrpcRes || []
160
- });
161
- const solMiddleware = solanaRpcMiddlewares.createSolanaMiddleware(providerHandlers);
162
- const engine = new auth.JRPCEngine();
163
- const {
164
- networkMiddleware
165
- } = JrpcClient.createSolanaJsonRpcClient(chain);
166
- engine.push(solMiddleware);
167
- engine.push(networkMiddleware);
168
- const provider = auth.providerFromEngine(engine);
143
+ const provider = auth.providerFromEngineV2(engine);
169
144
  this.updateProviderEngineProxy(provider);
170
145
  }
171
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,24 +1,25 @@
1
1
  'use strict';
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
- var bs58 = require('@toruslabs/bs58');
4
+ var ethereumControllers = require('@toruslabs/ethereum-controllers');
5
5
  var utils$1 = require('@walletconnect/utils');
6
6
  var auth = require('@web3auth/auth');
7
7
  var wsEmbed = require('@web3auth/ws-embed');
8
8
  require('@babel/runtime/helpers/defineProperty');
9
9
  require('@segment/analytics-next');
10
- require('../../base/loglevel.js');
10
+ var loglevel = require('../../base/loglevel.js');
11
11
  require('@toruslabs/base-controllers');
12
+ require('@toruslabs/session-manager');
12
13
  var index = require('../../base/errors/index.js');
14
+ require('@toruslabs/constants');
15
+ require('@toruslabs/http-helpers');
16
+ require('../../base/constants.js');
13
17
  require('../../base/wallet/index.js');
14
18
  require('../../base/connector/connectorStatus.js');
15
19
  require('../../base/connector/constants.js');
16
20
  require('jwt-decode');
17
- var constants = require('../../base/constants.js');
18
21
  require('../../base/plugin/errors.js');
19
22
  require('../../base/plugin/IPlugin.js');
20
- require('@toruslabs/constants');
21
- require('@toruslabs/http-helpers');
22
23
  var utils = require('./utils.js');
23
24
 
24
25
  async function getLastActiveSession(signClient) {
@@ -41,7 +42,16 @@ async function sendJrpcRequest(signClient, chainId, method, params) {
41
42
  }
42
43
  if (typeof window !== "undefined" && isMobileDevice()) {
43
44
  if (session.peer.metadata.redirect && session.peer.metadata.redirect.native) {
44
- 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
+ }
45
55
  }
46
56
  }
47
57
  return signClient.request({
@@ -68,6 +78,14 @@ async function getAccounts(signClient) {
68
78
  }
69
79
  throw index.WalletLoginError.connectionError("Failed to get accounts");
70
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
+ }
71
89
  function getEthProviderHandlers({
72
90
  connector,
73
91
  chainId
@@ -101,50 +119,25 @@ function getEthProviderHandlers({
101
119
  processTypedMessageV4: async msgParams => {
102
120
  const methodRes = await sendJrpcRequest(connector, `eip155:${chainId}`, wsEmbed.EVM_METHOD_TYPES.ETH_SIGN_TYPED_DATA_V4, [msgParams.from, msgParams.data]);
103
121
  return methodRes;
104
- }
105
- };
106
- }
107
- function getSolProviderHandlers({
108
- connector,
109
- chainId
110
- }) {
111
- return {
112
- requestAccounts: async _ => {
113
- return getAccounts(connector);
114
- },
115
- getPrivateKey: async () => {
116
- throw auth.rpcErrors.methodNotSupported();
117
- },
118
- getSecretKey: async () => {
119
- throw auth.rpcErrors.methodNotSupported();
120
- },
121
- getPublicKey: async () => {
122
- throw auth.rpcErrors.methodNotSupported();
123
- },
124
- getAccounts: async _ => {
125
- return getAccounts(connector);
126
122
  },
127
- signAllTransactions: async _ => {
128
- throw auth.rpcErrors.methodNotSupported();
123
+ // EIP-5792: wallet_getCapabilities
124
+ processGetCapabilities: async params => {
125
+ const capabilities = await sendJrpcRequest(connector, `eip155:${chainId}`, ethereumControllers.EIP_5792_METHODS.WALLET_GET_CAPABILITIES, params);
126
+ return capabilities;
129
127
  },
130
- signAndSendTransaction: async _ => {
131
- throw auth.rpcErrors.methodNotSupported();
128
+ // EIP-5792: wallet_sendCalls
129
+ processSendCalls: async params => {
130
+ const results = await sendJrpcRequest(connector, `eip155:${chainId}`, ethereumControllers.EIP_5792_METHODS.WALLET_SEND_CALLS, [params]);
131
+ return results;
132
132
  },
133
- signMessage: async req => {
134
- const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, {
135
- message: bs58.bs58.encode(Buffer.from(req.params.data, "utf-8"))
136
- });
137
- return methodRes.signature;
133
+ // EIP-5792: wallet_getCallsStatus
134
+ processGetCallsStatus: async batchId => {
135
+ const results = await sendJrpcRequest(connector, `eip155:${chainId}`, ethereumControllers.EIP_5792_METHODS.WALLET_GET_CALLS_STATUS, [batchId]);
136
+ return results;
138
137
  },
139
- signTransaction: async req => {
140
- const accounts = await getAccounts(connector);
141
- if (accounts.length === 0) {
142
- throw auth.providerErrors.disconnected();
143
- }
144
- const methodRes = await sendJrpcRequest(connector, `solana:${constants.SOLANA_CAIP_CHAIN_MAP[chainId]}`, wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, {
145
- transaction: req.params.message
146
- });
147
- return methodRes.signature;
138
+ // EIP-5792: wallet_showCallsStatus
139
+ processShowCallsStatus: async batchId => {
140
+ await sendJrpcRequest(connector, `eip155:${chainId}`, ethereumControllers.EIP_5792_METHODS.WALLET_SHOW_CALLS_STATUS, [batchId]);
148
141
  }
149
142
  };
150
143
  }
@@ -178,6 +171,6 @@ async function addChain({
178
171
  exports.addChain = addChain;
179
172
  exports.getAccounts = getAccounts;
180
173
  exports.getEthProviderHandlers = getEthProviderHandlers;
181
- exports.getSolProviderHandlers = getSolProviderHandlers;
174
+ exports.getSolanaAccounts = getSolanaAccounts;
182
175
  exports.sendJrpcRequest = sendJrpcRequest;
183
176
  exports.switchChain = switchChain;