@web3auth/no-modal 10.16.0 → 11.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/lib.cjs/account-linking/index.js +8 -0
  2. package/dist/lib.cjs/account-linking/react.js +95 -0
  3. package/dist/lib.cjs/account-linking/rest.js +54 -0
  4. package/dist/lib.cjs/account-linking/vue.js +98 -0
  5. package/dist/lib.cjs/base/analytics.js +13 -1
  6. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  7. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  8. package/dist/lib.cjs/base/connector/constants.js +6 -2
  9. package/dist/lib.cjs/base/connector/utils.js +0 -21
  10. package/dist/lib.cjs/base/constants.js +4 -0
  11. package/dist/lib.cjs/base/cookie.js +6 -20
  12. package/dist/lib.cjs/base/errors/index.js +84 -12
  13. package/dist/lib.cjs/base/utils.js +22 -11
  14. package/dist/lib.cjs/base/wallet/index.js +7 -0
  15. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  16. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +566 -93
  17. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  18. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +55 -58
  19. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
  20. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  21. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  22. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  23. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +350 -131
  24. package/dist/lib.cjs/connectors/utils.js +8 -2
  25. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  26. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  27. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +111 -73
  28. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  29. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  30. package/dist/lib.cjs/index.js +55 -83
  31. package/dist/lib.cjs/noModal.js +957 -169
  32. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  33. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  34. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  35. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  36. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  37. package/dist/lib.cjs/providers/base-provider/baseProvider.js +69 -35
  38. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  39. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  40. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  41. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  42. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  43. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  44. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  45. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  46. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  47. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  48. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  49. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  50. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  51. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  52. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +216 -0
  53. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  54. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  55. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  57. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  58. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  59. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  60. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  61. package/dist/lib.cjs/react/hooks/useWallets.js +51 -0
  62. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  63. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +2 -2
  64. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  65. package/dist/lib.cjs/react/index.js +12 -2
  66. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  67. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  68. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  69. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  70. package/dist/lib.cjs/react/solana/index.js +2 -0
  71. package/dist/lib.cjs/react/solana/provider.js +169 -0
  72. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  73. package/dist/lib.cjs/types/account-linking/index.d.ts +2 -0
  74. package/dist/lib.cjs/types/account-linking/interfaces.d.ts +90 -0
  75. package/dist/lib.cjs/types/account-linking/react.d.ts +19 -0
  76. package/dist/lib.cjs/types/account-linking/rest.d.ts +9 -0
  77. package/dist/lib.cjs/types/account-linking/vue.d.ts +20 -0
  78. package/dist/lib.cjs/types/base/analytics.d.ts +9 -0
  79. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +26 -5
  80. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  81. package/dist/lib.cjs/types/base/connector/constants.d.ts +5 -0
  82. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +72 -16
  83. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  84. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  85. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  86. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +57 -13
  87. package/dist/lib.cjs/types/base/errors/index.d.ts +15 -3
  88. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  89. package/dist/lib.cjs/types/base/interfaces.d.ts +8 -2
  90. package/dist/lib.cjs/types/base/utils.d.ts +9 -2
  91. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  92. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  93. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +37 -8
  94. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  95. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +77 -2
  96. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +8 -2
  97. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +8 -2
  98. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  99. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  100. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  101. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  102. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  103. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  104. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  105. package/dist/lib.cjs/types/index.d.ts +1 -0
  106. package/dist/lib.cjs/types/noModal.d.ts +113 -10
  107. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  108. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  109. package/dist/lib.cjs/types/providers/base-provider/baseProvider.d.ts +7 -0
  110. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  111. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  112. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  113. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  114. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  115. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  116. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  117. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  118. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  119. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  120. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  121. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  122. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  123. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  124. package/dist/lib.cjs/types/react/hooks/index.d.ts +2 -1
  125. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  126. package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +8 -0
  127. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  128. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  129. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  130. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  131. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  132. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  133. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  134. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  135. package/dist/lib.cjs/types/vue/composables/index.d.ts +3 -1
  136. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  137. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  138. package/dist/lib.cjs/types/vue/composables/useWallets.d.ts +9 -0
  139. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  140. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  141. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  142. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  143. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  144. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  145. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  146. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  147. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  148. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  149. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  150. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  151. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  152. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  153. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  154. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  155. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  156. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  157. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  158. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  159. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  160. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  161. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  162. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  163. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  164. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  165. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  166. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  167. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  168. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  169. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  170. package/dist/lib.cjs/vue/composables/useWallets.js +52 -0
  171. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  172. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +6 -4
  173. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  174. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  175. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  176. package/dist/lib.cjs/vue/index.js +10 -2
  177. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  178. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  179. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  180. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  181. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  182. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  183. package/dist/lib.cjs/vue/solana/index.js +6 -0
  184. package/dist/lib.cjs/vue/solana/provider.js +110 -0
  185. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  186. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +226 -0
  187. package/dist/lib.cjs/vue/wagmi/provider.js +28 -12
  188. package/dist/lib.cjs/x402/index.js +175 -0
  189. package/dist/lib.cjs/x402/interfaces.js +5 -0
  190. package/dist/lib.cjs/x402/react.js +64 -0
  191. package/dist/lib.cjs/x402/vue.js +58 -0
  192. package/dist/lib.esm/account-linking/index.js +1 -0
  193. package/dist/lib.esm/account-linking/react.js +74 -0
  194. package/dist/lib.esm/account-linking/rest.js +51 -0
  195. package/dist/lib.esm/account-linking/vue.js +78 -0
  196. package/dist/lib.esm/base/analytics.js +13 -1
  197. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  198. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  199. package/dist/lib.esm/base/connector/constants.js +6 -2
  200. package/dist/lib.esm/base/connector/utils.js +1 -19
  201. package/dist/lib.esm/base/constants.js +4 -1
  202. package/dist/lib.esm/base/cookie.js +7 -20
  203. package/dist/lib.esm/base/errors/index.js +84 -13
  204. package/dist/lib.esm/base/utils.js +22 -7
  205. package/dist/lib.esm/base/wallet/index.js +2 -1
  206. package/dist/lib.esm/base/wallet/solana.js +81 -0
  207. package/dist/lib.esm/connectors/auth-connector/authConnector.js +527 -57
  208. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  209. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +55 -58
  210. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
  211. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -13
  212. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +16 -13
  213. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +22 -34
  214. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +366 -132
  215. package/dist/lib.esm/connectors/utils.js +9 -4
  216. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -31
  217. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  218. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +110 -73
  219. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  220. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  221. package/dist/lib.esm/index.js +12 -19
  222. package/dist/lib.esm/noModal.js +975 -177
  223. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +20 -39
  224. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  225. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  226. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  227. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  228. package/dist/lib.esm/providers/base-provider/baseProvider.js +68 -38
  229. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  230. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  231. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  232. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  233. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  234. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  235. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  236. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  237. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  238. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  239. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  240. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  241. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  242. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  243. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +203 -0
  244. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  245. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  246. package/dist/lib.esm/react/hooks/useWallets.js +33 -0
  247. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  248. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +2 -2
  249. package/dist/lib.esm/react/index.js +6 -1
  250. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  251. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  252. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  253. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  254. package/dist/lib.esm/react/solana/index.js +1 -0
  255. package/dist/lib.esm/react/solana/provider.js +153 -0
  256. package/dist/lib.esm/react/wagmi/provider.js +8 -8
  257. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  258. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  259. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  260. package/dist/lib.esm/vue/composables/useCheckout.js +1 -1
  261. package/dist/lib.esm/vue/composables/useFunding.js +1 -1
  262. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  263. package/dist/lib.esm/vue/composables/useReceive.js +1 -1
  264. package/dist/lib.esm/vue/composables/useSwap.js +1 -1
  265. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +1 -1
  266. package/dist/lib.esm/vue/composables/useWalletUI.js +1 -1
  267. package/dist/lib.esm/vue/composables/useWallets.js +35 -0
  268. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  269. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +2 -2
  270. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  271. package/dist/lib.esm/vue/index.js +5 -1
  272. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  273. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  274. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  275. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  276. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  277. package/dist/lib.esm/vue/solana/constants.js +3 -0
  278. package/dist/lib.esm/vue/solana/index.js +3 -0
  279. package/dist/lib.esm/vue/solana/provider.js +99 -0
  280. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  281. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +213 -0
  282. package/dist/lib.esm/vue/wagmi/provider.js +26 -12
  283. package/dist/lib.esm/x402/index.js +170 -0
  284. package/dist/lib.esm/x402/interfaces.js +3 -0
  285. package/dist/lib.esm/x402/react.js +59 -0
  286. package/dist/lib.esm/x402/vue.js +54 -0
  287. package/package.json +102 -53
  288. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  289. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  290. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  291. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  292. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  293. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  294. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  295. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  296. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  297. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  298. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  299. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  300. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  301. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  302. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  303. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  304. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  305. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  306. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  307. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  308. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  309. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  310. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  311. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  312. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  313. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  314. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  315. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  316. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  317. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  318. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  319. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  320. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  321. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  322. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  323. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  324. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  325. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  326. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  327. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  328. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  329. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  330. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  331. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  332. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  333. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  334. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  335. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  336. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  337. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  338. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  339. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  340. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  341. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  342. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  343. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  344. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  345. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  346. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  347. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  348. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  349. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  350. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  351. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  352. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  353. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  354. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  355. package/dist/noModal.umd.min.js +0 -2
  356. package/dist/noModal.umd.min.js.LICENSE.txt +0 -46
@@ -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;
@@ -240,9 +258,11 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
240
258
  this.status = constants.CONNECTOR_STATUS.READY;
241
259
  }
242
260
  this.activeSession = null;
243
- this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
261
+ this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED, {
262
+ connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2
263
+ });
244
264
  }
245
- async getIdentityToken() {
265
+ async getAuthTokenInfo() {
246
266
  if (!this.provider || !this.canAuthorize) throw index$1.WalletLoginError.notConnectedError();
247
267
  this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
248
268
  this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
@@ -256,52 +276,59 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
256
276
  const {
257
277
  chainNamespace
258
278
  } = 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
279
+ const accounts = chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
280
+ method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
261
281
  });
262
282
  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
- }
279
- const payload = {
280
- domain: window.location.origin,
281
- uri: window.location.href,
282
- address: accounts[0],
283
- chainId: parseInt(chainId, 16),
284
- version: "1",
285
- nonce: Math.random().toString(36).slice(2),
286
- issuedAt: new Date().toISOString()
287
- };
288
- const challenge = await baseControllers.signChallenge(payload, chainNamespace);
289
- 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
- }
283
+ const cached = await this.getCachedOrNullAuthTokenInfo(accounts[0]);
284
+ if (cached) return cached;
285
+ const authServer = utils.citadelServerUrl(this.coreOptions.authBuildEnv);
286
+ const {
287
+ challenge,
288
+ signature
289
+ } = await this.generateChallengeAndSign(authServer, accounts);
290
+ return this.verifyAndAuthorize({
291
+ chainNamespace,
292
+ signedMessage: signature,
293
+ challenge,
294
+ authServer
298
295
  });
299
- return {
300
- idToken
301
- };
302
296
  }
303
297
  throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
304
298
  }
299
+ async generateChallengeAndSign(authServerUrl, accounts) {
300
+ const {
301
+ chainId
302
+ } = this.provider;
303
+ const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
304
+ if (!currentChainConfig) throw index$1.WalletLoginError.connectionError("Chain config is not available");
305
+ const {
306
+ chainNamespace
307
+ } = currentChainConfig;
308
+ const accountsToUse = accounts || (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet ? this._solanaWallet.accounts.map(a => a.address) : await this.provider.request({
309
+ method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
310
+ }));
311
+ if (!accountsToUse || accountsToUse.length === 0) {
312
+ throw index$1.WalletLoginError.notConnectedError("No accounts found in the connected wallet");
313
+ }
314
+ const payload = {
315
+ domain: window.location.origin,
316
+ uri: window.location.href,
317
+ address: accountsToUse[0],
318
+ chainId: parseInt(chainId, 16),
319
+ version: "1",
320
+ nonce: siwe.generateSiweNonce(),
321
+ issuedAt: new Date().toISOString()
322
+ };
323
+ const authServer = authServerUrl || utils.citadelServerUrl(this.coreOptions.authBuildEnv);
324
+ const challenge = await baseControllers.signChallenge(payload, chainNamespace, authServer);
325
+ const signature = await this._getSignedMessage(challenge, accountsToUse, chainNamespace);
326
+ return {
327
+ challenge,
328
+ signature,
329
+ chainNamespace
330
+ };
331
+ }
305
332
  async enableMFA() {
306
333
  throw new Error("Method Not implemented");
307
334
  }
@@ -313,10 +340,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
313
340
  const inactivePairings = this.connector.pairing.getAll({
314
341
  active: false
315
342
  });
316
- if (!utils$2.isValidArray(inactivePairings)) return;
343
+ if (!utils$1.isValidArray(inactivePairings)) return;
317
344
  inactivePairings.forEach(pairing => {
318
345
  if (this.connector) {
319
- this.connector.pairing.delete(pairing.topic, utils$2.getSdkError("USER_DISCONNECTED"));
346
+ this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
320
347
  }
321
348
  });
322
349
  }
@@ -332,7 +359,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
332
359
  forceNewSession = false,
333
360
  chainConfig,
334
361
  trackCompletionEvents,
335
- getIdentityToken
362
+ getAuthTokenInfo
336
363
  }) {
337
364
  try {
338
365
  var _this$activeSession4, _this$connectorOption7;
@@ -346,7 +373,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
346
373
  var _this$activeSession5;
347
374
  await this.connector.disconnect({
348
375
  topic: (_this$activeSession5 = this.activeSession) === null || _this$activeSession5 === void 0 ? void 0 : _this$activeSession5.topic,
349
- reason: utils$2.getSdkError("USER_DISCONNECTED")
376
+ reason: utils$1.getSdkError("USER_DISCONNECTED")
350
377
  });
351
378
  }
352
379
  const {
@@ -381,7 +408,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
381
408
  await this.onConnectHandler({
382
409
  chain: chainConfig,
383
410
  trackCompletionEvents,
384
- getIdentityToken
411
+ getAuthTokenInfo
385
412
  });
386
413
  if (qrcodeModal) {
387
414
  qrcodeModal.closeModal();
@@ -396,7 +423,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
396
423
  return this.createNewSession({
397
424
  forceNewSession: true,
398
425
  chainConfig,
399
- getIdentityToken
426
+ getAuthTokenInfo
400
427
  });
401
428
  }
402
429
  if (this.status === constants.CONNECTOR_STATUS.READY) {
@@ -412,9 +439,9 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
412
439
  async onConnectHandler({
413
440
  chain,
414
441
  trackCompletionEvents,
415
- getIdentityToken
442
+ getAuthTokenInfo
416
443
  }) {
417
- var _this$connectorOption8;
444
+ var _this$connectorOption8, _this$activeSession$n, _this$activeSession6;
418
445
  if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet connect connector is not ready yet");
419
446
  this.subscribeEvents();
420
447
  if ((_this$connectorOption8 = this.connectorOptions.connectorSettings) !== null && _this$connectorOption8 !== void 0 && _this$connectorOption8.qrcodeModal) {
@@ -428,19 +455,30 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
428
455
  });
429
456
  }
430
457
  await this.wcProvider.setupProvider(this.connector);
458
+ // Derive the active Solana chain from the WC session namespaces (genesis hash → hex chainId),
459
+ // rather than picking the first Solana chain from coreOptions which may not match the session.
460
+ 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 : [];
461
+ if (sessionSolanaChains.length > 0) {
462
+ const reverseMap = Object.fromEntries(Object.entries(constants$1.SOLANA_CAIP_CHAIN_MAP).map(([hex, hash]) => [hash, hex]));
463
+ const genesisHash = sessionSolanaChains[0].split(":")[1];
464
+ const hexChainId = reverseMap[genesisHash];
465
+ const solanaChain = hexChainId ? this.coreOptions.chains.find(c => c.chainId === hexChainId) : null;
466
+ if (solanaChain) {
467
+ this._solanaWallet = await wcSolanaWallet.WCSolanaWallet.create(this.connector, solanaChain);
468
+ }
469
+ }
431
470
  this.cleanupPendingPairings();
432
471
  this.status = constants.CONNECTOR_STATUS.CONNECTED;
433
472
  // track connection events
434
473
  if (trackCompletionEvents) trackCompletionEvents();
435
- let identityTokenInfo;
436
474
  this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
437
- connector: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
475
+ connectorName: index.WALLET_CONNECTORS.WALLET_CONNECT_V2,
438
476
  reconnected: this.rehydrated,
439
- provider: this.provider,
440
- identityTokenInfo
477
+ ethereumProvider: this.provider,
478
+ solanaWallet: this._solanaWallet
441
479
  });
442
- if (getIdentityToken) {
443
- identityTokenInfo = await this.getIdentityToken();
480
+ if (getAuthTokenInfo) {
481
+ await this.getAuthTokenInfo();
444
482
  }
445
483
  }
446
484
  subscribeEvents() {
@@ -470,10 +508,10 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
470
508
  this.connector.events.on("session_expire", ({
471
509
  topic
472
510
  }) => {
473
- var _this$activeSession6;
511
+ var _this$activeSession7;
474
512
  // Session has expired -> clean up the session
475
513
  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) {
514
+ if (((_this$activeSession7 = this.activeSession) === null || _this$activeSession7 === void 0 ? void 0 : _this$activeSession7.topic) === topic) {
477
515
  this.disconnect({
478
516
  sessionRemovedByWallet: true
479
517
  }).catch(error => {
@@ -483,13 +521,13 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
483
521
  });
484
522
  }
485
523
  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
- }
524
+ if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA && this._solanaWallet) {
525
+ return solana.walletSignMessage(this._solanaWallet, challenge, accounts[0]);
526
+ }
527
+ return this.provider.request({
528
+ method: wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN,
529
+ params: [challenge, accounts[0]]
491
530
  });
492
- return signedMessage;
493
531
  }
494
532
  }
495
533
  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;