@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
@@ -1,46 +1,51 @@
1
- import { Connection } from '@solana/web3.js';
2
- import { useState, useMemo, useEffect } from 'react';
1
+ import { createSolanaRpc } from '@solana/kit';
2
+ import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
3
+ import { useMemo, useCallback } from 'react';
3
4
  import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
4
- import { useWeb3Auth } from '../../hooks/useWeb3Auth.js';
5
+ import { WALLET_CONNECTORS } from '../../../base/wallet/index.js';
5
6
  import { useChain } from '../../hooks/useChain.js';
6
- import { SolanaWallet } from '../../../providers/solana-provider/solanaWallet.js';
7
+ import { useWeb3Auth } from '../../hooks/useWeb3Auth.js';
7
8
 
8
9
  const useSolanaWallet = () => {
9
10
  const {
10
- provider,
11
+ connection,
11
12
  web3Auth
12
13
  } = useWeb3Auth();
13
14
  const {
14
15
  chainNamespace
15
16
  } = useChain();
16
- const [accounts, setAccounts] = useState(null);
17
17
  const solanaWallet = useMemo(() => {
18
- if (!provider) return null;
19
- if (chainNamespace !== CHAIN_NAMESPACES.SOLANA) return null;
20
- return new SolanaWallet(provider);
21
- }, [provider, chainNamespace]);
22
- const connection = useMemo(() => {
23
- if (!web3Auth || !provider || chainNamespace !== CHAIN_NAMESPACES.SOLANA) return null;
24
- return new Connection(web3Auth.currentChain.rpcTarget);
25
- }, [web3Auth, provider, chainNamespace]);
26
- useEffect(() => {
27
- const init = async () => {
28
- if (chainNamespace !== CHAIN_NAMESPACES.SOLANA) {
29
- setAccounts(null);
30
- return;
31
- }
32
- if (!solanaWallet) return;
33
- const accounts = await solanaWallet.getAccounts();
34
- if ((accounts === null || accounts === void 0 ? void 0 : accounts.length) > 0) {
35
- setAccounts(accounts);
36
- }
37
- };
38
- if (solanaWallet) init();
18
+ var _connection$solanaWal;
19
+ return (_connection$solanaWal = connection === null || connection === void 0 ? void 0 : connection.solanaWallet) !== null && _connection$solanaWal !== void 0 ? _connection$solanaWal : null;
20
+ }, [connection]);
21
+ const accounts = useMemo(() => {
22
+ if (chainNamespace !== CHAIN_NAMESPACES.SOLANA || !solanaWallet) return null;
23
+ const accts = solanaWallet.accounts.map(a => a.address);
24
+ return accts.length > 0 ? accts : null;
39
25
  }, [solanaWallet, chainNamespace]);
26
+ const rpc = useMemo(() => {
27
+ if (!web3Auth || !solanaWallet || chainNamespace !== CHAIN_NAMESPACES.SOLANA) return null;
28
+ return createSolanaRpc(web3Auth.currentChain.rpcTarget);
29
+ }, [web3Auth, solanaWallet, chainNamespace]);
30
+ const getPrivateKey = useCallback(async () => {
31
+ var _web3Auth$connectedCo;
32
+ if (!web3Auth) throw new Error("Web3Auth not initialized");
33
+ if ((connection === null || connection === void 0 ? void 0 : connection.connectorName) !== WALLET_CONNECTORS.AUTH) {
34
+ throw new Error("getPrivateKey is only supported with the Auth connector");
35
+ }
36
+ const provider = (_web3Auth$connectedCo = web3Auth.connectedConnector) === null || _web3Auth$connectedCo === void 0 ? void 0 : _web3Auth$connectedCo.provider;
37
+ if (!provider) throw new Error("Provider not available");
38
+ const privateKey = await provider.request({
39
+ method: SOLANA_METHOD_TYPES.SOLANA_PRIVATE_KEY
40
+ });
41
+ if (!privateKey) throw new Error("Failed to retrieve private key");
42
+ return privateKey;
43
+ }, [web3Auth, connection]);
40
44
  return {
41
45
  solanaWallet,
42
46
  accounts,
43
- connection
47
+ rpc,
48
+ getPrivateKey
44
49
  };
45
50
  };
46
51
 
@@ -1,3 +1,4 @@
1
+ export { SolanaProvider } from './provider.js';
1
2
  export { useSignAndSendTransaction } from './hooks/useSignAndSendTransaction.js';
2
3
  export { useSignMessage } from './hooks/useSignMessage.js';
3
4
  export { useSignTransaction } from './hooks/useSignTransaction.js';
@@ -0,0 +1,150 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { createWalletStandardConnector, createClient } from '@solana/client';
4
+ import { SolanaProvider as SolanaProvider$1 } from '@solana/react-hooks';
5
+ import { createElement, useRef, useState, useEffect } from 'react';
6
+ import { useChain } from '../hooks/useChain.js';
7
+ import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
8
+ import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
9
+ import { log } from '../../base/loglevel.js';
10
+
11
+ const _excluded = ["children"];
12
+ const DEVNET_ENDPOINT = "https://api.devnet.solana.com";
13
+ function placeholderRpc(isInitialized, web3Auth) {
14
+ var _web3Auth$coreOptions;
15
+ if (!isInitialized || !(web3Auth !== null && web3Auth !== void 0 && (_web3Auth$coreOptions = web3Auth.coreOptions) !== null && _web3Auth$coreOptions !== void 0 && _web3Auth$coreOptions.chains)) {
16
+ return {
17
+ rpcTarget: DEVNET_ENDPOINT
18
+ };
19
+ }
20
+ const solanaChains = web3Auth.coreOptions.chains.filter(c => c.chainNamespace === CHAIN_NAMESPACES.SOLANA);
21
+ const current = web3Auth.currentChain;
22
+ const chain = (current === null || current === void 0 ? void 0 : current.chainNamespace) === CHAIN_NAMESPACES.SOLANA ? current : solanaChains[0];
23
+ if (!chain) return {
24
+ rpcTarget: DEVNET_ENDPOINT
25
+ };
26
+ return {
27
+ rpcTarget: chain.rpcTarget,
28
+ wsTarget: chain.wsTarget
29
+ };
30
+ }
31
+ function makePlaceholder(rpc) {
32
+ return createClient({
33
+ endpoint: rpc.rpcTarget,
34
+ websocketEndpoint: rpc.wsTarget,
35
+ walletConnectors: []
36
+ });
37
+ }
38
+ function dispose(client) {
39
+ void client.actions.disconnectWallet().catch(() => {});
40
+ client.destroy();
41
+ }
42
+
43
+ /**
44
+ * Builds the SolanaClient for Framework Kit React hooks: placeholder when idle, Web3Auth-backed when
45
+ * connected on Solana. Ref + state so React re-renders on swap and effects dispose the right instance.
46
+ */
47
+ function useFrameworkKitSolanaClient() {
48
+ const {
49
+ isConnected,
50
+ connection,
51
+ web3Auth,
52
+ isInitialized
53
+ } = useWeb3Auth();
54
+ const {
55
+ chainNamespace
56
+ } = useChain();
57
+ const ref = useRef(null);
58
+ const [client, setClient] = useState(() => {
59
+ const c = makePlaceholder({
60
+ rpcTarget: DEVNET_ENDPOINT
61
+ });
62
+ ref.current = c;
63
+ return c;
64
+ });
65
+ useEffect(() => {
66
+ if (isInitialized) web3Auth === null || web3Auth === void 0 || web3Auth.setAnalyticsProperties({
67
+ solana_framework_kit_enabled: true
68
+ });
69
+ }, [isInitialized, web3Auth]);
70
+ useEffect(() => () => {
71
+ const c = ref.current;
72
+ if (c) {
73
+ dispose(c);
74
+ ref.current = null;
75
+ }
76
+ }, []);
77
+ useEffect(() => {
78
+ let stale = false;
79
+ const adopt = next => {
80
+ if (stale) {
81
+ dispose(next);
82
+ return;
83
+ }
84
+ const prev = ref.current;
85
+ if (prev === next) return;
86
+ if (prev) dispose(prev);
87
+ ref.current = next;
88
+ setClient(next);
89
+ };
90
+ (async _web3Auth$currentChai => {
91
+ const rpc = placeholderRpc(isInitialized, web3Auth);
92
+ const solanaWallet = connection === null || connection === void 0 ? void 0 : connection.solanaWallet;
93
+ const onSolana = isConnected && Boolean(solanaWallet) && chainNamespace === CHAIN_NAMESPACES.SOLANA && (web3Auth === null || web3Auth === void 0 || (_web3Auth$currentChai = web3Auth.currentChain) === null || _web3Auth$currentChai === void 0 ? void 0 : _web3Auth$currentChai.chainNamespace) === CHAIN_NAMESPACES.SOLANA;
94
+ if (!onSolana) {
95
+ adopt(makePlaceholder(rpc));
96
+ return;
97
+ }
98
+ const conn = connection;
99
+ if (!conn || !solanaWallet) {
100
+ adopt(makePlaceholder(rpc));
101
+ return;
102
+ }
103
+ try {
104
+ const solanaWalletId = "wallet-standard:" + conn.connectorName;
105
+ const connector = createWalletStandardConnector(solanaWallet, {
106
+ id: solanaWalletId,
107
+ name: conn.connectorName
108
+ });
109
+ const {
110
+ rpcTarget,
111
+ wsTarget
112
+ } = web3Auth.currentChain;
113
+ const wired = createClient({
114
+ endpoint: rpcTarget,
115
+ websocketEndpoint: wsTarget,
116
+ walletConnectors: [connector]
117
+ });
118
+ await wired.actions.connectWallet(solanaWalletId, {
119
+ autoConnect: true
120
+ });
121
+ if (stale) {
122
+ dispose(wired);
123
+ return;
124
+ }
125
+ adopt(wired);
126
+ } catch (e) {
127
+ log.error("Failed to create or connect Solana client", e);
128
+ adopt(makePlaceholder(rpc));
129
+ }
130
+ })();
131
+ return () => {
132
+ stale = true;
133
+ };
134
+ }, [isConnected, connection === null || connection === void 0 ? void 0 : connection.solanaWallet, chainNamespace, web3Auth, isInitialized, connection === null || connection === void 0 ? void 0 : connection.connectorName]);
135
+ return client;
136
+ }
137
+ function SolanaProvider(_ref) {
138
+ let {
139
+ children
140
+ } = _ref,
141
+ props = _objectWithoutProperties(_ref, _excluded);
142
+ const client = useFrameworkKitSolanaClient();
143
+ return createElement(SolanaProvider$1, _objectSpread(_objectSpread({}, props), {}, {
144
+ client,
145
+ walletPersistence: false,
146
+ children
147
+ }));
148
+ }
149
+
150
+ export { SolanaProvider };
@@ -2,7 +2,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
2
2
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
3
  import { useMemo, createElement, useEffect, Fragment } from 'react';
4
4
  import { defineChain } from 'viem';
5
- import { createConfig, WagmiProvider as WagmiProvider$1, webSocket, http, fallback, useConfig, useReconnect, useAccountEffect } from 'wagmi';
5
+ import { createConfig, WagmiProvider as WagmiProvider$1, webSocket, http, fallback, useConfig, useReconnect, useConnectionEffect } from 'wagmi';
6
6
  import { injected } from 'wagmi/connectors';
7
7
  import { defaultWagmiConfig } from './constants.js';
8
8
  import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
@@ -78,16 +78,16 @@ function Web3AuthWagmiProvider({
78
78
  }) {
79
79
  const {
80
80
  isConnected,
81
- provider
81
+ connection
82
82
  } = useWeb3Auth();
83
83
  const {
84
84
  disconnect
85
85
  } = useWeb3AuthDisconnect();
86
86
  const wagmiConfig = useConfig();
87
87
  const {
88
- reconnect
88
+ mutate: reconnect
89
89
  } = useReconnect();
90
- useAccountEffect({
90
+ useConnectionEffect({
91
91
  onDisconnect: async () => {
92
92
  log.info("Disconnected from wagmi");
93
93
  if (isConnected) await disconnect();
@@ -101,8 +101,8 @@ function Web3AuthWagmiProvider({
101
101
  });
102
102
  useEffect(() => {
103
103
  (async () => {
104
- if (isConnected && provider) {
105
- const connector = await setupConnector(provider, wagmiConfig);
104
+ if (isConnected && connection !== null && connection !== void 0 && connection.ethereumProvider) {
105
+ const connector = await setupConnector(connection.ethereumProvider, wagmiConfig);
106
106
  if (!connector) {
107
107
  throw new Error("Failed to setup connector");
108
108
  }
@@ -114,7 +114,7 @@ function Web3AuthWagmiProvider({
114
114
  }
115
115
  }
116
116
  })();
117
- }, [isConnected, wagmiConfig, provider, reconnect]);
117
+ }, [isConnected, wagmiConfig, connection, reconnect]);
118
118
  return createElement(Fragment, null, children);
119
119
  }
120
120
  function WagmiProvider(_ref) {
@@ -1,66 +1,16 @@
1
- import { defineComponent, h, shallowRef, ref, watch, provide } from 'vue';
1
+ import { defineComponent, h, provide } from 'vue';
2
2
  import { useWeb3AuthInner } from './composables/useWeb3AuthInner.js';
3
+ import { useWalletServicesInnerContextValue } from './useWalletServicesInnerContextValue.js';
3
4
  import { WalletServicesContextKey } from './context/WalletServicesContext.js';
4
5
  import { WalletServicesPluginError } from '../base/plugin/errors.js';
5
- import { EVM_PLUGINS, PLUGIN_EVENTS } from '../base/plugin/IPlugin.js';
6
- import { CONNECTOR_STATUS } from '../base/connector/constants.js';
7
6
 
8
7
  const WalletServicesInnerProvider = defineComponent({
9
8
  name: "WalletServicesInnerProvider",
10
9
  setup() {
11
10
  const web3AuthContext = useWeb3AuthInner();
12
11
  if (!web3AuthContext) throw WalletServicesPluginError.fromCode(1000, "`WalletServicesProvider` must be wrapped by `Web3AuthProvider`");
13
- const {
14
- getPlugin,
15
- isInitialized,
16
- isConnected
17
- } = web3AuthContext;
18
- const walletServicesPlugin = shallowRef(null);
19
- const ready = ref(false);
20
- const connecting = ref(false);
21
- watch(isInitialized, newIsInitialized => {
22
- if (newIsInitialized) {
23
- const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
24
- walletServicesPlugin.value = plugin;
25
- }
26
- });
27
- watch(isConnected, newIsConnected => {
28
- if (newIsConnected) {
29
- var _walletServicesPlugin;
30
- const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
31
- walletServicesPlugin.value = plugin;
32
- // when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
33
- if (((_walletServicesPlugin = walletServicesPlugin.value) === null || _walletServicesPlugin === void 0 ? void 0 : _walletServicesPlugin.status) === CONNECTOR_STATUS.CONNECTED) ready.value = true;
34
- }
35
- });
36
- watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
37
- const connectedListener = () => {
38
- ready.value = true;
39
- };
40
- const disconnectedListener = () => {
41
- ready.value = false;
42
- };
43
- const connectingListener = () => {
44
- connecting.value = true;
45
- };
46
-
47
- // unregister previous listeners
48
- if (prevWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
49
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTED, connectedListener);
50
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
51
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTING, connectingListener);
52
- }
53
- if (newWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
54
- newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
55
- newWalletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
56
- newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTING, connectingListener);
57
- }
58
- });
59
- provide(WalletServicesContextKey, {
60
- plugin: walletServicesPlugin,
61
- ready,
62
- connecting
63
- });
12
+ const value = useWalletServicesInnerContextValue(web3AuthContext);
13
+ provide(WalletServicesContextKey, value);
64
14
  },
65
15
  render() {
66
16
  var _this$$slots$default;
@@ -1,11 +1,8 @@
1
- import { defineComponent, h, shallowRef, ref, watch, provide } from 'vue';
1
+ import { defineComponent, h, provide } from 'vue';
2
2
  import { Web3AuthNoModal } from '../noModal.js';
3
+ import { useWeb3AuthInnerContextValue } from './useWeb3AuthInnerContextValue.js';
3
4
  import { WalletServicesInnerProvider } from './WalletServicesInnerProvider.js';
4
- import { ANALYTICS_INTEGRATION_TYPE } from '../base/analytics.js';
5
- import { log } from '../base/loglevel.js';
6
- import { CONNECTOR_EVENTS, CONNECTOR_STATUS } from '../base/connector/constants.js';
7
5
  import { Web3AuthContextKey } from '../base/composables/index.js';
8
- import { WalletInitializationError } from '../base/errors/index.js';
9
6
 
10
7
  const Web3AuthProvider = defineComponent({
11
8
  name: "Web3AuthProvider",
@@ -16,181 +13,12 @@ const Web3AuthProvider = defineComponent({
16
13
  }
17
14
  },
18
15
  setup(props) {
19
- const web3Auth = shallowRef(null);
20
- const provider = ref(null);
21
- const isMFAEnabled = ref(false);
22
- const status = ref(null);
23
- const chainId = ref(null);
24
- const chainNamespace = ref(null);
25
- const isInitializing = ref(false);
26
- const initError = ref(null);
27
- const isInitialized = ref(false);
28
- const isConnected = ref(false);
29
- const isAuthorized = ref(false);
30
- const getPlugin = name => {
31
- if (!web3Auth.value) throw WalletInitializationError.notReady();
32
- return web3Auth.value.getPlugin(name);
33
- };
34
- const setIsMFAEnabled = isMfaEnabled => {
35
- isMFAEnabled.value = isMfaEnabled;
36
- };
37
- watch(() => props.config, (newConfig, _, onInvalidate) => {
38
- const resetHookState = () => {
39
- provider.value = null;
40
- isMFAEnabled.value = false;
41
- isConnected.value = false;
42
- isAuthorized.value = false;
43
- status.value = null;
44
- chainId.value = null;
45
- chainNamespace.value = null;
46
- };
47
- onInvalidate(() => {
48
- if (web3Auth.value) {
49
- web3Auth.value.cleanup();
50
- }
51
- });
52
- resetHookState();
53
- const {
54
- web3AuthOptions
55
- } = newConfig;
56
- const web3AuthInstance = new Web3AuthNoModal(web3AuthOptions);
57
- web3AuthInstance.setAnalyticsProperties({
58
- integration_type: ANALYTICS_INTEGRATION_TYPE.VUE_COMPOSABLES
59
- });
60
- web3Auth.value = web3AuthInstance;
61
- }, {
62
- immediate: true
63
- });
64
- watch(web3Auth, async (newWeb3Auth, _, onInvalidate) => {
65
- const controller = new AbortController();
66
-
67
- // Invalidate the controller here before calling any async methods.
68
- onInvalidate(() => {
69
- controller.abort();
70
- });
71
- if (newWeb3Auth) {
72
- try {
73
- initError.value = null;
74
- isInitializing.value = true;
75
- await newWeb3Auth.init({
76
- signal: controller.signal
77
- });
78
- } catch (error) {
79
- log.error("Error initializing web3auth", error);
80
- initError.value = error;
81
- } finally {
82
- isInitializing.value = false;
83
- }
84
- }
85
- }, {
86
- immediate: true
87
- });
88
- watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
89
- const notReadyListener = () => {
90
- status.value = web3Auth.value.status;
91
- };
92
- const readyListener = () => {
93
- status.value = web3Auth.value.status;
94
- isInitialized.value = true;
95
- };
96
- const connectedListener = () => {
97
- status.value = web3Auth.value.status;
98
- // we do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
99
- if (web3Auth.value.status === CONNECTOR_STATUS.CONNECTED) {
100
- var _currentChain$chainNa, _currentChain;
101
- if (!isInitialized.value) isInitialized.value = true;
102
- isConnected.value = true;
103
- provider.value = newWeb3Auth.provider;
104
- chainId.value = web3Auth.value.currentChainId;
105
- chainNamespace.value = (_currentChain$chainNa = (_currentChain = web3Auth.value.currentChain) === null || _currentChain === void 0 ? void 0 : _currentChain.chainNamespace) !== null && _currentChain$chainNa !== void 0 ? _currentChain$chainNa : null;
106
- }
107
- };
108
- const authorizedListener = () => {
109
- status.value = web3Auth.value.status;
110
- if (web3Auth.value.status === CONNECTOR_STATUS.AUTHORIZED) {
111
- isAuthorized.value = true;
112
- isConnected.value = true;
113
- }
114
- };
115
- const disconnectedListener = () => {
116
- status.value = web3Auth.value.status;
117
- isConnected.value = false;
118
- provider.value = null;
119
- isMFAEnabled.value = false;
120
- isAuthorized.value = false;
121
- };
122
- const connectingListener = () => {
123
- status.value = web3Auth.value.status;
124
- };
125
- const errorListener = () => {
126
- status.value = web3Auth.value.status;
127
- };
128
- const mfaEnabledListener = () => {
129
- isMFAEnabled.value = true;
130
- };
131
-
132
- // unregister previous listeners
133
- if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
134
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
135
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.READY, readyListener);
136
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTED, connectedListener);
137
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
138
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
139
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTING, connectingListener);
140
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.ERRORED, errorListener);
141
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
142
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
143
- }
144
- if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
145
- status.value = newWeb3Auth.status;
146
- // web3Auth is initialized here.
147
- newWeb3Auth.on(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
148
- newWeb3Auth.on(CONNECTOR_EVENTS.READY, readyListener);
149
- newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTED, connectedListener);
150
- newWeb3Auth.on(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
151
- newWeb3Auth.on(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
152
- newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTING, connectingListener);
153
- newWeb3Auth.on(CONNECTOR_EVENTS.ERRORED, errorListener);
154
- newWeb3Auth.on(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
155
- newWeb3Auth.on(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
156
- }
157
- }, {
158
- immediate: true
159
- });
160
-
161
- // Listen for chain changes on the provider
162
- watch(provider, (newProvider, prevProvider) => {
163
- const handleChainChange = newChainId => {
164
- var _web3Auth$value$curre, _web3Auth$value;
165
- chainId.value = newChainId;
166
- chainNamespace.value = (_web3Auth$value$curre = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 || (_web3Auth$value = _web3Auth$value.currentChain) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.chainNamespace) !== null && _web3Auth$value$curre !== void 0 ? _web3Auth$value$curre : null;
167
- };
168
-
169
- // unregister previous listener
170
- if (prevProvider && newProvider !== prevProvider) {
171
- prevProvider.removeListener("chainChanged", handleChainChange);
172
- }
173
- if (newProvider && newProvider !== prevProvider) {
174
- newProvider.on("chainChanged", handleChainChange);
175
- }
176
- }, {
177
- immediate: true
178
- });
179
- provide(Web3AuthContextKey, {
180
- web3Auth,
181
- isConnected,
182
- isInitialized,
183
- provider,
184
- status,
185
- isInitializing,
186
- initError,
187
- isMFAEnabled,
188
- chainId,
189
- chainNamespace,
190
- getPlugin,
191
- setIsMFAEnabled,
192
- isAuthorized
16
+ const value = useWeb3AuthInnerContextValue({
17
+ Web3AuthConstructor: Web3AuthNoModal,
18
+ watchSource: () => props.config,
19
+ getWeb3AuthOptions: config => config.web3AuthOptions
193
20
  });
21
+ provide(Web3AuthContextKey, value);
194
22
  },
195
23
  render() {
196
24
  var _this$$slots$default;
@@ -3,7 +3,7 @@ import { useWeb3AuthInner } from './useWeb3AuthInner.js';
3
3
  import { WalletInitializationError } from '../../base/errors/index.js';
4
4
  import { log } from '../../base/loglevel.js';
5
5
 
6
- const useIdentityToken = () => {
6
+ const useAuthTokenInfo = () => {
7
7
  const {
8
8
  web3Auth,
9
9
  isAuthorized
@@ -11,18 +11,18 @@ const useIdentityToken = () => {
11
11
  const loading = ref(false);
12
12
  const error = ref(null);
13
13
  const token = ref(null);
14
- const getIdentityToken = async () => {
14
+ const getAuthTokenInfo = async () => {
15
15
  try {
16
16
  if (!web3Auth.value) throw WalletInitializationError.notReady();
17
17
  error.value = null;
18
18
  loading.value = true;
19
- const result = await web3Auth.value.getIdentityToken();
19
+ const result = await web3Auth.value.getAuthTokenInfo();
20
20
  if (result !== null && result !== void 0 && result.idToken) {
21
21
  token.value = result.idToken;
22
22
  }
23
23
  return result === null || result === void 0 ? void 0 : result.idToken;
24
24
  } catch (err) {
25
- log.error("Error getting identity token", err);
25
+ log.error("Error getting auth token info", err);
26
26
  error.value = err;
27
27
  } finally {
28
28
  loading.value = false;
@@ -43,8 +43,8 @@ const useIdentityToken = () => {
43
43
  loading,
44
44
  error,
45
45
  token,
46
- getIdentityToken
46
+ getAuthTokenInfo
47
47
  };
48
48
  };
49
49
 
50
- export { useIdentityToken };
50
+ export { useAuthTokenInfo };
@@ -0,0 +1,11 @@
1
+ import { inject } from 'vue';
2
+ import { Web3AuthContextKey } from '../../base/composables/index.js';
3
+ import { WalletInitializationError } from '../../base/errors/index.js';
4
+
5
+ function useInjectedWeb3AuthInnerContext() {
6
+ const context = inject(Web3AuthContextKey);
7
+ if (!context) throw WalletInitializationError.fromCode(1000, "usage of `useWeb3Auth` not wrapped in `Web3AuthProvider`.");
8
+ return context;
9
+ }
10
+
11
+ export { useInjectedWeb3AuthInnerContext };
@@ -1,32 +1,7 @@
1
1
  import { useWeb3AuthInner } from './useWeb3AuthInner.js';
2
2
 
3
3
  const useWeb3Auth = () => {
4
- const {
5
- initError,
6
- isConnected,
7
- isInitialized,
8
- isInitializing,
9
- isAuthorized,
10
- provider,
11
- status,
12
- web3Auth,
13
- getPlugin,
14
- chainId,
15
- chainNamespace
16
- } = useWeb3AuthInner();
17
- return {
18
- initError,
19
- isConnected,
20
- isInitialized,
21
- isInitializing,
22
- isAuthorized,
23
- provider,
24
- status,
25
- web3Auth,
26
- chainId,
27
- chainNamespace,
28
- getPlugin
29
- };
4
+ return useWeb3AuthInner();
30
5
  };
31
6
 
32
7
  export { useWeb3Auth };
@@ -1,11 +1,7 @@
1
- import { inject } from 'vue';
2
- import { Web3AuthContextKey } from '../../base/composables/index.js';
3
- import { WalletInitializationError } from '../../base/errors/index.js';
1
+ import { useInjectedWeb3AuthInnerContext } from './useInjectedWeb3AuthInnerContext.js';
4
2
 
5
3
  const useWeb3AuthInner = () => {
6
- const context = inject(Web3AuthContextKey);
7
- if (!context) throw WalletInitializationError.fromCode(1000, "usage of `useWeb3Auth` not wrapped in `Web3AuthProvider`.");
8
- return context;
4
+ return useInjectedWeb3AuthInnerContext();
9
5
  };
10
6
 
11
7
  export { useWeb3AuthInner };