@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
@@ -1,10 +1,3 @@
1
1
  import type { IWeb3AuthState } from "./interfaces";
2
- export declare const cookieStorage: (options?: {
3
- expiry?: number;
4
- }) => {
5
- getItem(key: string): string;
6
- setItem(key: string, value: string): void;
7
- removeItem(key: string): void;
8
- };
9
2
  export declare function cookieToWeb3AuthState(cookie?: string | null): IWeb3AuthState;
10
3
  export declare function parseCookie(cookie: string, key: string): string;
@@ -1,8 +1,9 @@
1
1
  import { type AccountAbstractionMultiChainConfig } from "@toruslabs/ethereum-controllers";
2
- import { type BUILD_ENV_TYPE, type LoginParams, MfaLevelType, MfaSettings, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
2
+ import { type BUILD_ENV_TYPE, type CookieOptions, type LoginParams, MfaLevelType, MfaSettings, SafeEventEmitter, type StorageConfig, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
3
3
  import { type WsEmbedParams } from "@web3auth/ws-embed";
4
+ import { type LinkAccountParams, type LinkAccountResult, UnlinkAccountResult } from "../../account-linking";
4
5
  import { type ChainNamespaceType, type CustomChainConfig } from "../chain/IChainInterface";
5
- import { CONNECTED_EVENT_DATA, CONNECTOR_EVENTS, CONNECTOR_INITIAL_AUTHENTICATION_MODE, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, type IdentityTokenInfo, type IProvider, type UserInfo, type WEB3AUTH_NETWORK_TYPE } from "../connector";
6
+ import { type AuthTokenInfo, CONNECTED_EVENT_DATA, type Connection, CONNECTION_UPDATED_EVENT_DATA, CONNECTOR_EVENTS, CONNECTOR_INITIAL_AUTHENTICATION_MODE, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, LinkedAccountInfo, type UserInfo, type WEB3AUTH_NETWORK_TYPE } from "../connector";
6
7
  import { Web3AuthError } from "../errors";
7
8
  import { LoginModeType } from "../interfaces";
8
9
  import { type IPlugin, type PluginFn } from "../plugin";
@@ -56,11 +57,14 @@ export interface IWeb3AuthCoreOptions {
56
57
  */
57
58
  enableLogging?: boolean;
58
59
  /**
59
- * setting to "local" will persist social login session across browser tabs.
60
- *
61
- * @defaultValue "local"
60
+ * Custom storage adapters for auth tokens (sessionId, accessToken, refreshToken, idToken).
61
+ * @defaultValue localStorage-based adapters
62
+ */
63
+ storage?: StorageConfig;
64
+ /**
65
+ * Cookie configuration used when storage adapters are cookie-based.
62
66
  */
63
- storageType?: "session" | "local" | "cookies";
67
+ cookieOptions?: CookieOptions;
64
68
  /**
65
69
  * sessionTime (in seconds) for idToken issued by Web3Auth for server side verification.
66
70
  * @defaultValue 7 * 86400
@@ -107,7 +111,7 @@ export interface IWeb3AuthCoreOptions {
107
111
  */
108
112
  walletServicesConfig?: WalletServicesConfig;
109
113
  /**
110
- * Private key provider for xrpl, mpc cases
114
+ * Private key provider for xrpl cases
111
115
  */
112
116
  privateKeyProvider?: IBaseProvider<string>;
113
117
  /**
@@ -132,7 +136,7 @@ export interface IWeb3AuthCoreOptions {
132
136
  mfaLevel?: MfaLevelType;
133
137
  /**
134
138
  * Initial authentication mode for the auth connector.
135
- * @defaultValue "connect-only"
139
+ * @defaultValue "connect-and-sign"
136
140
  */
137
141
  initialAuthenticationMode?: ConnectorInitialAuthenticationModeType;
138
142
  /**
@@ -154,11 +158,12 @@ export type LoginParamMap = {
154
158
  };
155
159
  };
156
160
  export interface IWeb3AuthCore extends SafeEventEmitter {
161
+ currentChainId: string | null;
157
162
  readonly coreOptions: IWeb3AuthCoreOptions;
158
- connectedConnectorName: WALLET_CONNECTOR_TYPE | null;
163
+ primaryConnectorName: WALLET_CONNECTOR_TYPE | null;
159
164
  currentChain: CustomChainConfig | undefined;
160
165
  status: CONNECTOR_STATUS_TYPE;
161
- provider: IProvider | null;
166
+ connection: Connection | null;
162
167
  init(options?: {
163
168
  signal?: AbortSignal;
164
169
  }): Promise<void>;
@@ -168,12 +173,13 @@ export interface IWeb3AuthCore extends SafeEventEmitter {
168
173
  cleanup: boolean;
169
174
  }): Promise<void>;
170
175
  getUserInfo(): Promise<Partial<UserInfo>>;
171
- getIdentityToken(): Promise<IdentityTokenInfo>;
176
+ getAuthTokenInfo(): Promise<Pick<AuthTokenInfo, "idToken">>;
172
177
  switchChain(params: {
173
178
  chainId: string;
174
179
  }): Promise<void>;
175
180
  }
176
181
  export interface IWeb3Auth extends IWeb3AuthCore {
182
+ loginMode: LoginModeType;
177
183
  connected: boolean;
178
184
  cachedConnector: string | null;
179
185
  getConnector(connectorName: WALLET_CONNECTOR_TYPE): IConnector<unknown> | null;
@@ -181,18 +187,56 @@ export interface IWeb3Auth extends IWeb3AuthCore {
181
187
  * Connect to a specific wallet connector
182
188
  * @param walletName - Key of the wallet connector to use.
183
189
  */
184
- connectTo<T extends WALLET_CONNECTOR_TYPE>(walletName: T, loginParams?: LoginParamMap[T]): Promise<IProvider | null>;
190
+ connectTo<T extends WALLET_CONNECTOR_TYPE>(walletName: T, loginParams?: LoginParamMap[T]): Promise<Connection | null>;
185
191
  enableMFA<T>(params: T): Promise<void>;
186
192
  manageMFA<T>(params: T): Promise<void>;
193
+ setAnalyticsProperties(properties: Record<string, unknown>): void;
187
194
  cleanup(): Promise<void>;
195
+ /**
196
+ * Switch the active connection to a linked wallet: connects an isolated
197
+ * instance of that wallet’s connector, updates `connection.ethereumProvider` / `solanaWallet`,
198
+ * and emits `connection_updated` so Wagmi/UI can resync.
199
+ * The auxiliary connector stays connected (not torn down after switch). The previous auxiliary
200
+ * connector is disconnected when starting another switch or when the primary session disconnects.
201
+ *
202
+ * Requires an AUTH primary session and a matching `userInfo.linkedAccounts` entry.
203
+ */
204
+ switchAccount(account: LinkedAccountInfo): Promise<void>;
205
+ /**
206
+ * Link an external wallet to the currently authenticated user account
207
+ * via the Citadel account-linking endpoint.
208
+ *
209
+ * Requires:
210
+ * - The user to be currently connected with the AUTH connector.
211
+ * - `accountLinking.serverUrl` to be set in the Web3Auth constructor options.
212
+ *
213
+ * @param params - Linking parameters including the target connector name.
214
+ * @returns A result object confirming the link, including the linked address.
215
+ */
216
+ linkAccount(params?: LinkAccountParams): Promise<LinkAccountResult>;
217
+ /**
218
+ * Unlink an external wallet from the currently authenticated user account
219
+ * via the Citadel account-unlinking endpoint.
220
+ *
221
+ * @param params - Unlinking parameters including the target account address.
222
+ * @returns A result object confirming the unlink.
223
+ */
224
+ unlinkAccount(address: string): Promise<UnlinkAccountResult>;
188
225
  }
189
226
  export type SDK_CONNECTED_EVENT_DATA = CONNECTED_EVENT_DATA & {
190
227
  loginMode: LoginModeType;
228
+ pendingUserConsent?: boolean;
229
+ };
230
+ export type SDK_CONSENT_ACCEPTED_EVENT_DATA = {
231
+ reconnected: boolean;
191
232
  };
192
- export type Web3AuthNoModalEvents = Omit<ConnectorEvents, "connected" | "errored" | "ready"> & {
233
+ export type Web3AuthNoModalEvents = Omit<ConnectorEvents, "connected" | "errored" | "ready" | "consent_requiring" | "consent_accepted"> & {
193
234
  [CONNECTOR_EVENTS.READY]: () => void;
194
235
  [CONNECTOR_EVENTS.CONNECTED]: (data: SDK_CONNECTED_EVENT_DATA) => void;
236
+ [CONNECTOR_EVENTS.CONSENT_REQUIRING]: () => void;
237
+ [CONNECTOR_EVENTS.CONSENT_ACCEPTED]: (data: SDK_CONSENT_ACCEPTED_EVENT_DATA) => void;
195
238
  [CONNECTOR_EVENTS.ERRORED]: (error: Web3AuthError, loginMode: LoginModeType) => void;
239
+ [CONNECTOR_EVENTS.CONNECTION_UPDATED]: (data: CONNECTION_UPDATED_EVENT_DATA) => void;
196
240
  MODAL_VISIBILITY: (visibility: boolean) => void;
197
241
  };
198
242
  export type Web3AuthNoModalOptions = IWeb3AuthCoreOptions;
@@ -1,5 +1,4 @@
1
- import { CustomError } from "ts-custom-error";
2
- export interface IWeb3AuthError extends CustomError {
1
+ export interface IWeb3AuthError extends Error {
3
2
  code: number;
4
3
  message: string;
5
4
  cause?: unknown;
@@ -8,7 +7,7 @@ export interface IWeb3AuthError extends CustomError {
8
7
  export type ErrorCodes = {
9
8
  [key: number]: string;
10
9
  };
11
- export declare abstract class Web3AuthError extends CustomError implements IWeb3AuthError {
10
+ export declare abstract class Web3AuthError extends Error implements IWeb3AuthError {
12
11
  code: number;
13
12
  message: string;
14
13
  cause?: unknown;
@@ -58,6 +57,19 @@ export declare class WalletOperationsError extends Web3AuthError {
58
57
  static operationNotAllowed(extraMessage?: string, cause?: unknown): IWeb3AuthError;
59
58
  static chainNamespaceNotAllowed(extraMessage?: string, cause?: unknown): IWeb3AuthError;
60
59
  }
60
+ export declare class AccountLinkingError extends Web3AuthError {
61
+ protected static messages: ErrorCodes;
62
+ constructor(code: number, message?: string, cause?: unknown);
63
+ static fromCode(code: number, extraMessage?: string, cause?: unknown): AccountLinkingError;
64
+ static requestFailed(extraMessage?: string, cause?: unknown): AccountLinkingError;
65
+ static serverNotConfigured(extraMessage?: string, cause?: unknown): AccountLinkingError;
66
+ static primaryTokenNotAvailable(extraMessage?: string, cause?: unknown): AccountLinkingError;
67
+ static walletProofFailed(extraMessage?: string, cause?: unknown): AccountLinkingError;
68
+ static unsupportedConnector(extraMessage?: string, cause?: unknown): AccountLinkingError;
69
+ static cannotUnlinkActiveAccount(): AccountLinkingError;
70
+ static accountNotLinked(message?: string, cause?: unknown): AccountLinkingError;
71
+ static cannotUnlinkPrimaryAccount(): AccountLinkingError;
72
+ }
61
73
  export declare class WalletProviderError extends Web3AuthError {
62
74
  protected static messages: ErrorCodes;
63
75
  constructor(code: number, message?: string, cause?: unknown);
@@ -1,5 +1,5 @@
1
1
  import type { ChainNamespaceType } from "../chain/IChainInterface";
2
- import { CONNECTOR_STATUS_TYPE, IProvider } from "../connector";
2
+ import { type Connection, CONNECTOR_STATUS_TYPE } from "../connector";
3
3
  import { IPlugin } from "../plugin";
4
4
  export interface IBaseWeb3AuthHookContext {
5
5
  chainId: string | null;
@@ -10,7 +10,7 @@ export interface IBaseWeb3AuthHookContext {
10
10
  isConnected: boolean;
11
11
  isAuthorized: boolean;
12
12
  isMFAEnabled: boolean;
13
- provider: IProvider | null;
13
+ connection: Connection | null;
14
14
  status: CONNECTOR_STATUS_TYPE | null;
15
15
  getPlugin(pluginName: string): IPlugin | null;
16
16
  setIsMFAEnabled(isMFAEnabled: boolean): void;
@@ -1,7 +1,8 @@
1
1
  import { type BUTTON_POSITION_TYPE } from "@toruslabs/base-controllers";
2
- import { type SmartAccountType } from "@toruslabs/ethereum-controllers";
2
+ import type { SmartAccountEipStandardType, SmartAccountType } from "@toruslabs/ethereum-controllers";
3
3
  import { AuthConnectionConfigItem, type WhiteLabelData } from "@web3auth/auth";
4
4
  import { type ChainNamespaceType, type CustomChainConfig } from "./chain/IChainInterface";
5
+ import { LinkedAccountInfo } from "./connector";
5
6
  import { LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, WIDGET_TYPE } from "./constants";
6
7
  import { WALLET_CONNECTOR_TYPE } from "./wallet";
7
8
  export interface WhitelistResponse {
@@ -10,9 +11,13 @@ export interface WhitelistResponse {
10
11
  }
11
12
  export interface IWeb3AuthState {
12
13
  cachedConnector: string | null;
13
- connectedConnectorName: WALLET_CONNECTOR_TYPE | null;
14
+ primaryConnectorName: WALLET_CONNECTOR_TYPE | null;
14
15
  currentChainId: string;
15
16
  idToken: string | null;
17
+ accessToken: string | null;
18
+ refreshToken: string | null;
19
+ activeAccount: LinkedAccountInfo | null;
20
+ hasUserConsent?: boolean;
16
21
  }
17
22
  export type ChainsConfig = CustomChainConfig[];
18
23
  export interface ExternalWalletsConfig {
@@ -22,6 +27,7 @@ export interface ExternalWalletsConfig {
22
27
  }
23
28
  export type SmartAccountWalletScope = (typeof SMART_ACCOUNT_WALLET_SCOPE)[keyof typeof SMART_ACCOUNT_WALLET_SCOPE];
24
29
  export interface SmartAccountsConfig {
30
+ eipStandard: SmartAccountEipStandardType | undefined;
25
31
  smartAccountType: SmartAccountType;
26
32
  walletScope: SmartAccountWalletScope;
27
33
  chains: {
@@ -1,4 +1,4 @@
1
- import { cloneDeep } from "@toruslabs/base-controllers";
1
+ import { ChainNamespaceType, cloneDeep } from "@toruslabs/base-controllers";
2
2
  import { type AccountAbstractionMultiChainConfig } from "@toruslabs/ethereum-controllers";
3
3
  import { type BUILD_ENV_TYPE } from "@web3auth/auth";
4
4
  import { type Chain } from "viem";
@@ -7,7 +7,8 @@ import { type WEB3AUTH_NETWORK_TYPE } from "./connector";
7
7
  import { type UIConfig, type WalletServicesConfig } from "./core/IWeb3Auth";
8
8
  import type { ProjectConfig, WalletRegistry } from "./interfaces";
9
9
  export declare const isHexStrict: (hex: string) => boolean;
10
- export declare const signerHost: (web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE) => string;
10
+ export declare const dashboardPublicApiUrl: (buildEnv: BUILD_ENV_TYPE) => string;
11
+ export declare const citadelServerUrl: (buildEnv?: BUILD_ENV_TYPE) => string;
11
12
  export declare const fetchProjectConfig: ({ clientId, web3AuthNetwork, aaProvider, authBuildEnv, }: {
12
13
  clientId: string;
13
14
  web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
@@ -66,3 +67,9 @@ export declare const getErrorAnalyticsProperties: (error: unknown) => {
66
67
  };
67
68
  export declare const getHostname: (url: string) => string;
68
69
  export declare const getCaipChainId: (chain: Pick<CustomChainConfig, "chainNamespace" | "chainId">) => string;
70
+ /**
71
+ * Parse the chain namespace from the citadel response
72
+ * @param chainNamespace - The chain namespace from the citadel response
73
+ * @returns The parsed chain namespace
74
+ */
75
+ export declare const parseChainNamespaceFromCitadelResponse: (chainNamespace: string) => ChainNamespaceType;
@@ -1,3 +1,5 @@
1
+ import { WalletIcon } from "@wallet-standard/base";
2
+ export * from "./solana";
1
3
  export declare const MULTI_CHAIN_CONNECTORS: {
2
4
  readonly AUTH: "auth";
3
5
  readonly WALLET_CONNECT_V2: "wallet-connect-v2";
@@ -30,3 +32,4 @@ export declare const CONNECTOR_NAMES: {
30
32
  coinbase: string;
31
33
  metamask: string;
32
34
  };
35
+ export declare const WEB3AUTH_ICON: WalletIcon;
@@ -0,0 +1,19 @@
1
+ import { type Transaction } from "@solana/kit";
2
+ import type { IdentifierString, Wallet } from "@wallet-standard/base";
3
+ import { type CustomChainConfig } from "../chain/IChainInterface";
4
+ export declare const getSolanaChainByChainConfig: (chainConfig: CustomChainConfig) => IdentifierString | null;
5
+ /**
6
+ * Signs and sends a transaction via the wallet standard feature.
7
+ * Returns the transaction signature as a base58 string.
8
+ */
9
+ export declare const walletSignAndSendTransaction: (wallet: Wallet, transaction: Transaction) => Promise<string>;
10
+ /**
11
+ * Signs a transaction via the wallet standard feature.
12
+ * Returns the first signature as a base58 string.
13
+ */
14
+ export declare const walletSignTransaction: (wallet: Wallet, transaction: Transaction) => Promise<string>;
15
+ /**
16
+ * Signs a message via the wallet standard feature.
17
+ * Returns the signature as a base58 string.
18
+ */
19
+ export declare const walletSignMessage: (wallet: Wallet, message: string, from?: string) => Promise<string>;
@@ -1,8 +1,11 @@
1
+ import { ChainNamespaceType } from "@toruslabs/base-controllers";
2
+ import type { Wallet } from "@wallet-standard/base";
1
3
  import { Auth, AuthConnectionConfigItem } from "@web3auth/auth";
2
4
  import { type default as WsEmbed } from "@web3auth/ws-embed";
3
- import { AuthLoginParams, BaseConnector, BaseConnectorLoginParams, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, IProvider, UserInfo, WALLET_CONNECTOR_TYPE } from "../../base";
4
- import type { AuthConnectorOptions, PrivateKeyProvider } from "./interface";
5
- declare class AuthConnector extends BaseConnector<AuthLoginParams> {
5
+ import { LinkAccountResult, UnlinkAccountResult } from "../../account-linking";
6
+ import { AccountLinkingError, AuthLoginParams, AuthTokenInfo, BaseConnector, BaseConnectorLoginParams, type Connection, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, IConnector, IProvider, LinkedAccountInfo, UserInfo, WALLET_CONNECTOR_TYPE } from "../../base";
7
+ import { type AuthConnectorLinkAccountParams, type AuthConnectorOptions, type AuthConnectorSwitchAccountContext, type AuthConnectorSwitchAccountResult, type AuthConnectorUnlinkAccountParams, IAuthConnector, type PrivateKeyProvider } from "./interface";
8
+ declare class AuthConnector extends BaseConnector<AuthLoginParams> implements IAuthConnector {
6
9
  readonly name: WALLET_CONNECTOR_TYPE;
7
10
  readonly connectorNamespace: ConnectorNamespaceType;
8
11
  readonly type: CONNECTOR_CATEGORY_TYPE;
@@ -15,21 +18,23 @@ declare class AuthConnector extends BaseConnector<AuthLoginParams> {
15
18
  private wsEmbedInstance;
16
19
  private authConnectionConfig;
17
20
  private wsEmbedInstancePromise;
21
+ private _solanaWallet;
22
+ private analytics;
18
23
  constructor(params: AuthConnectorOptions);
19
24
  get provider(): IProvider | null;
20
25
  get wsEmbed(): WsEmbed;
26
+ get solanaWallet(): Wallet | null;
21
27
  set provider(_: IProvider | null);
22
28
  init(options: ConnectorInitOptions): Promise<void>;
23
- connect(params: Partial<AuthLoginParams> & BaseConnectorLoginParams): Promise<IProvider | null>;
29
+ connect(params: Partial<AuthLoginParams> & BaseConnectorLoginParams): Promise<Connection | null>;
24
30
  enableMFA(params?: AuthLoginParams): Promise<void>;
25
31
  manageMFA(params?: AuthLoginParams): Promise<void>;
26
32
  disconnect(options?: {
27
33
  cleanup: boolean;
28
34
  }): Promise<void>;
29
- getIdentityToken(): Promise<{
30
- idToken: string;
31
- }>;
35
+ getAuthTokenInfo(): Promise<AuthTokenInfo>;
32
36
  getUserInfo(): Promise<Partial<UserInfo>>;
37
+ getLinkedAccounts(): Promise<LinkedAccountInfo[]>;
33
38
  switchChain(params: {
34
39
  chainId: string;
35
40
  }, init?: boolean): Promise<void>;
@@ -37,15 +42,39 @@ declare class AuthConnector extends BaseConnector<AuthLoginParams> {
37
42
  getOAuthProviderConfig(params: Pick<AuthLoginParams, "authConnection" | "authConnectionId" | "groupedAuthConnectionId">): AuthConnectionConfigItem & {
38
43
  isDefault?: boolean;
39
44
  };
40
- private getChain;
45
+ generateChallengeAndSign(): Promise<{
46
+ challenge: string;
47
+ signature: string;
48
+ chainNamespace: ChainNamespaceType;
49
+ }>;
50
+ switchAccount(account: LinkedAccountInfo, context: AuthConnectorSwitchAccountContext): Promise<AuthConnectorSwitchAccountResult>;
51
+ trackSwitchAccountCompleted(account: LinkedAccountInfo): Promise<void>;
52
+ trackSwitchAccountFailed(account: Pick<LinkedAccountInfo, "id" | "accountType" | "eoaAddress">, error: unknown): Promise<void>;
53
+ linkAccount(params: AuthConnectorLinkAccountParams): Promise<LinkAccountResult>;
54
+ unlinkAccount(params: AuthConnectorUnlinkAccountParams): Promise<UnlinkAccountResult>;
55
+ getChainIdForLinkedAccount(account: Pick<LinkedAccountInfo, "chainNamespace" | "connector">, preferredChainId?: string | null): string;
56
+ assertSwitchAccountConnectorMatchesTarget(connector: IConnector<unknown>, account: Pick<LinkedAccountInfo, "chainNamespace" | "connector" | "eoaAddress">): Promise<void>;
57
+ toSwitchAccountConnectorError(account: Pick<LinkedAccountInfo, "connector" | "eoaAddress">, error: unknown): AccountLinkingError;
58
+ private getSwitchAccountTrackData;
59
+ private getPrimaryAuthSession;
60
+ private getNetworkForUnlinkAddress;
61
+ private createWalletLinkingProof;
62
+ private getLinkingWalletAddress;
63
+ private setupSolanaWallet;
41
64
  private _getFinalPrivKey;
42
65
  private connectWithProvider;
43
66
  private connectWithSocialLogin;
67
+ private accessTokenProvider;
68
+ private getIdToken;
69
+ private getOriginData;
44
70
  private connectWithJwtLogin;
71
+ private auditOAuditProgress;
45
72
  }
46
73
  type AuthConnectorFuncParams = Omit<AuthConnectorOptions, "coreOptions" | "authConnectionConfig" | "connectorSettings"> & {
47
74
  connectorSettings?: Omit<AuthConnectorOptions["connectorSettings"], "buildEnv">;
48
75
  };
49
76
  export declare const authConnector: (params?: AuthConnectorFuncParams) => ConnectorFn;
77
+ export declare function isAuthConnector(connector: IConnector<unknown> | null | undefined): connector is AuthConnectorType;
78
+ export declare function assertAuthConnector(connector: IConnector<unknown> | null | undefined, errorMessage?: string): asserts connector is AuthConnectorType;
50
79
  export type AuthConnectorType = AuthConnector;
51
80
  export {};
@@ -0,0 +1,35 @@
1
+ import { type SolanaSignAndSendTransactionFeature, type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from "@solana/wallet-standard-features";
2
+ import { type IdentifierArray, type Wallet, type WalletAccount, type WalletIcon, type WalletVersion } from "@wallet-standard/base";
3
+ import { type StandardConnectFeature, type StandardDisconnectFeature, type StandardEventsFeature } from "@wallet-standard/features";
4
+ import { type CustomChainConfig, type IProvider } from "../../base";
5
+ type AuthSolanaFeatures = StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & SolanaSignAndSendTransactionFeature & SolanaSignMessageFeature & SolanaSignTransactionFeature;
6
+ /**
7
+ * AuthSolanaWallet implements the Wallet Standard interface, wrapping a JRPC provider.
8
+ * Used by AuthConnector so consumers get a standards-compliant Wallet from `connection.solanaWallet`.
9
+ *
10
+ * {@link Wallet.accounts} is synchronous in the Wallet Standard; it returns `[]` until accounts have been loaded
11
+ * (`null` internally). The first async operation ({@link StandardConnect}, sign, etc.) calls `ensureAccountsLoaded`, which
12
+ * requires {@link IProvider.chainId} to be a configured Solana network (see {@link SOLANA_CAIP_CHAIN_MAP}) before {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}.
13
+ */
14
+ export declare class AuthSolanaWallet implements Wallet {
15
+ private readonly _provider;
16
+ readonly version: WalletVersion;
17
+ readonly name = "Web3Auth";
18
+ readonly icon: WalletIcon;
19
+ readonly chains: IdentifierArray;
20
+ readonly features: AuthSolanaFeatures;
21
+ private _accounts;
22
+ private readonly _listeners;
23
+ /**
24
+ * @param solanaChainConfigs - All configured Solana {@link CustomChainConfig} entries (same namespace).
25
+ */
26
+ constructor(_provider: IProvider, solanaChainConfigs: CustomChainConfig[]);
27
+ /**
28
+ * Wallet Standard requires a synchronous getter; RPC runs on first async wallet operation instead.
29
+ */
30
+ get accounts(): readonly WalletAccount[];
31
+ /** Throws if the embed is not on Solana; otherwise loads accounts once via {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}. */
32
+ private ensureAccountsLoaded;
33
+ private emitChange;
34
+ }
35
+ export {};
@@ -1,11 +1,46 @@
1
- import { type AuthConnectionConfigItem, type AuthOptions, type LoginParams } from "@web3auth/auth";
1
+ import type { Wallet } from "@wallet-standard/base";
2
+ import { type AuthConnectionConfigItem, type AuthOptions, type LoginParams, type WEB3AUTH_NETWORK_TYPE } from "@web3auth/auth";
2
3
  import { type WsEmbedParams } from "@web3auth/ws-embed";
3
- import { type BaseConnectorSettings, type IBaseProvider } from "../../base";
4
+ import { LinkAccountResult, UnlinkAccountResult } from "../../account-linking";
5
+ import { type BaseConnectorSettings, type ConnectorNamespaceType, type IBaseProvider, type IConnector, type IProvider, type LinkedAccountInfo, type WALLET_CONNECTOR_TYPE } from "../../base";
4
6
  export type LoginSettings = Partial<LoginParams>;
5
7
  export type PrivateKeyProvider = IBaseProvider<string>;
6
8
  export type WalletServicesSettings = Omit<WsEmbedParams, "chains" | "chainId"> & {
7
9
  modalZIndex?: number;
8
10
  };
11
+ export interface AuthConnectorSessionTokens {
12
+ accessToken: string | null;
13
+ idToken: string | null;
14
+ }
15
+ export interface AuthConnectorLinkAccountParams {
16
+ authSessionTokens: AuthConnectorSessionTokens;
17
+ walletConnector: IConnector<unknown>;
18
+ connectorName: WALLET_CONNECTOR_TYPE | string;
19
+ chainId?: string;
20
+ }
21
+ export interface AuthConnectorSwitchAccountContext {
22
+ activeAccount: LinkedAccountInfo | null;
23
+ currentChainId: string | null;
24
+ }
25
+ export type AuthConnectorSwitchAccountResult = {
26
+ kind: "primary";
27
+ targetAccount: LinkedAccountInfo;
28
+ activeAccount: null;
29
+ activeChainId: string;
30
+ connectorName: WALLET_CONNECTOR_TYPE;
31
+ connectorNamespace: ConnectorNamespaceType;
32
+ ethereumProvider: IProvider | null;
33
+ solanaWallet: Wallet | null;
34
+ } | {
35
+ kind: "external";
36
+ targetAccount: LinkedAccountInfo;
37
+ activeAccount: LinkedAccountInfo;
38
+ activeChainId: string;
39
+ };
40
+ export interface AuthConnectorUnlinkAccountParams {
41
+ authSessionTokens: AuthConnectorSessionTokens;
42
+ address: string;
43
+ }
9
44
  export interface AuthConnectorOptions extends BaseConnectorSettings {
10
45
  connectorSettings?: Omit<AuthOptions, "clientId" | "network" | "authConnectionConfig" | "mfaSettings">;
11
46
  loginSettings?: LoginSettings;
@@ -14,4 +49,44 @@ export interface AuthConnectorOptions extends BaseConnectorSettings {
14
49
  isDefault?: boolean;
15
50
  })[];
16
51
  }
52
+ export interface UserInfoWithLinkedAccounts {
53
+ /** User id from the Citadel Server */
54
+ id: string;
55
+ /** Connection id of the user */
56
+ connectionId: string;
57
+ /** Identifier of the user. e.g. email, sub */
58
+ identifier: string;
59
+ /** Public address of the user */
60
+ publicAddress: string;
61
+ /** Web3Auth network of the user */
62
+ web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
63
+ /** Type of the user. e.g. v1, v2 */
64
+ userType: string;
65
+ /** Connected accounts info, including the primary account */
66
+ accounts: LinkedAccountInfo[];
67
+ /** Created at timestamp of the user */
68
+ createdAt: string;
69
+ /** Updated at timestamp of the user */
70
+ updatedAt: string;
71
+ }
17
72
  export { AUTH_CONNECTION, type AUTH_CONNECTION_TYPE, type AuthConnectionConfig, type AuthOptions, type AuthUserInfo, type LoginParams, MFA_FACTOR, type MFA_FACTOR_TYPE, MFA_LEVELS, type MFA_SETTINGS, type MfaLevelType, } from "@web3auth/auth";
73
+ export interface IAuthConnector {
74
+ /**
75
+ * Resolve the target account and connector-owned switch metadata.
76
+ * `noModal` applies the returned result to SDK state and providers.
77
+ */
78
+ switchAccount(account: LinkedAccountInfo, context: AuthConnectorSwitchAccountContext): Promise<AuthConnectorSwitchAccountResult>;
79
+ /**
80
+ * Link an external wallet to the authenticated user by using the
81
+ * `noModal`-provided isolated wallet connector to generate the proof.
82
+ */
83
+ linkAccount(params: AuthConnectorLinkAccountParams): Promise<LinkAccountResult>;
84
+ /**
85
+ * Unlink an external wallet from the authenticated user account.
86
+ */
87
+ unlinkAccount(params: AuthConnectorUnlinkAccountParams): Promise<UnlinkAccountResult>;
88
+ /**
89
+ * Get the connected accounts for the authenticated user.
90
+ */
91
+ getLinkedAccounts(): Promise<LinkedAccountInfo[]>;
92
+ }
@@ -1,7 +1,13 @@
1
- import { BaseConnector, ConnectorInitOptions, IdentityTokenInfo } from "../../base";
1
+ import { ChainNamespaceType } from "@toruslabs/base-controllers";
2
+ import { AuthTokenInfo, BaseConnector, ConnectorInitOptions } from "../../base";
2
3
  export declare abstract class BaseEvmConnector<T> extends BaseConnector<T> {
3
4
  init(_?: ConnectorInitOptions): Promise<void>;
4
- getIdentityToken(): Promise<IdentityTokenInfo>;
5
+ getAuthTokenInfo(): Promise<AuthTokenInfo>;
6
+ generateChallengeAndSign(authServerUrl?: string, accounts?: string[]): Promise<{
7
+ challenge: string;
8
+ signature: string;
9
+ chainNamespace: ChainNamespaceType;
10
+ }>;
5
11
  disconnectSession(): Promise<void>;
6
12
  disconnect(): Promise<void>;
7
13
  }
@@ -1,7 +1,13 @@
1
- import { BaseConnector, ConnectorInitOptions, IdentityTokenInfo } from "../../base";
1
+ import { ChainNamespaceType } from "@toruslabs/base-controllers";
2
+ import { AuthTokenInfo, BaseConnector, ConnectorInitOptions } from "../../base";
2
3
  export declare abstract class BaseSolanaConnector<T> extends BaseConnector<T> {
3
4
  init(_?: ConnectorInitOptions): Promise<void>;
4
- getIdentityToken(): Promise<IdentityTokenInfo>;
5
+ getAuthTokenInfo(): Promise<AuthTokenInfo>;
6
+ generateChallengeAndSign(authServerUrl?: string, accounts?: string[]): Promise<{
7
+ challenge: string;
8
+ signature: string;
9
+ chainNamespace: ChainNamespaceType;
10
+ }>;
5
11
  disconnectSession(): Promise<void>;
6
12
  disconnect(): Promise<void>;
7
13
  }
@@ -1,5 +1,5 @@
1
1
  import { type EIP6963ProviderDetail } from "mipd";
2
- import { BaseConnectorLoginParams, BaseConnectorSettings, ChainNamespaceType, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, CustomChainConfig, IProvider, UserInfo } from "../../base";
2
+ import { BaseConnectorLoginParams, BaseConnectorSettings, ChainNamespaceType, Connection, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, CustomChainConfig, IProvider, UserInfo } from "../../base";
3
3
  import { BaseEvmConnector } from "../base-evm-connector";
4
4
  declare class InjectedEvmConnector extends BaseEvmConnector<void> {
5
5
  readonly connectorNamespace: ConnectorNamespaceType;
@@ -17,7 +17,7 @@ declare class InjectedEvmConnector extends BaseEvmConnector<void> {
17
17
  get provider(): IProvider | null;
18
18
  set provider(_: IProvider | null);
19
19
  init(options: ConnectorInitOptions): Promise<void>;
20
- connect({ chainId, getIdentityToken }: BaseConnectorLoginParams): Promise<IProvider | null>;
20
+ connect({ chainId, getAuthTokenInfo }: BaseConnectorLoginParams): Promise<Connection | null>;
21
21
  disconnect(options?: {
22
22
  cleanup: boolean;
23
23
  }): Promise<void>;
@@ -1,5 +1,8 @@
1
- import { Wallet } from "@wallet-standard/base";
2
- import { BaseConnectorLoginParams, BaseConnectorSettings, ChainNamespaceType, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, IProvider, UserInfo } from "../../base";
1
+ import { type SolanaSignAndSendTransactionFeature, type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from "@solana/wallet-standard-features";
2
+ import { type Wallet, type WalletWithFeatures } from "@wallet-standard/base";
3
+ import { type StandardConnectFeature, type StandardDisconnectFeature, type StandardEventsFeature } from "@wallet-standard/features";
4
+ type WalletStandard = WalletWithFeatures<StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & SolanaSignAndSendTransactionFeature & SolanaSignMessageFeature & SolanaSignTransactionFeature>;
5
+ import { BaseConnectorLoginParams, BaseConnectorSettings, ChainNamespaceType, Connection, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, UserInfo } from "../../base";
3
6
  import { BaseSolanaConnector } from "../base-solana-connector";
4
7
  export declare class WalletStandardConnector extends BaseSolanaConnector<void> {
5
8
  readonly name: string;
@@ -9,23 +12,23 @@ export declare class WalletStandardConnector extends BaseSolanaConnector<void> {
9
12
  readonly isInjected = true;
10
13
  status: CONNECTOR_STATUS_TYPE;
11
14
  private wallet;
12
- private injectedProvider;
13
15
  constructor(options: BaseConnectorSettings & {
14
16
  name: string;
15
17
  wallet: Wallet;
16
18
  });
17
- get provider(): IProvider;
19
+ get solanaWallet(): WalletStandard | null;
18
20
  get isWalletConnected(): boolean;
19
21
  init(options: ConnectorInitOptions): Promise<void>;
20
- connect({ chainId, getIdentityToken }: BaseConnectorLoginParams): Promise<IProvider>;
22
+ connect({ chainId, getAuthTokenInfo }: BaseConnectorLoginParams): Promise<Connection | null>;
21
23
  disconnect(options?: {
22
24
  cleanup: boolean;
23
25
  }): Promise<void>;
24
26
  getUserInfo(): Promise<Partial<UserInfo>>;
25
- switchChain(params: {
27
+ switchChain(_params: {
26
28
  chainId: string;
27
- }, init?: boolean): Promise<void>;
29
+ }, _init?: boolean): Promise<void>;
28
30
  enableMFA(): Promise<void>;
29
31
  manageMFA(): Promise<void>;
30
32
  }
31
33
  export declare const walletStandardConnector: (wallet: Wallet) => ConnectorFn;
34
+ export {};
@@ -1,6 +1,38 @@
1
- import { type MetaMaskSDKOptions } from "@metamask/sdk";
2
1
  import { type BaseConnectorSettings, type ConnectorFn } from "../../base";
2
+ /**
3
+ * Configuration options for the MetaMask connector using \@metamask/connect-evm
4
+ */
5
+ export interface MetaMaskConnectorSettings {
6
+ /** Dapp identification and branding settings */
7
+ dapp?: {
8
+ name?: string;
9
+ url?: string;
10
+ iconUrl?: string;
11
+ };
12
+ /** Enable debug logging for the MetaMask SDK */
13
+ debug?: boolean;
14
+ /** UI settings for the MetaMask connector */
15
+ ui?: {
16
+ preferExtension?: boolean;
17
+ showInstallModal?: boolean;
18
+ headless?: boolean;
19
+ };
20
+ }
3
21
  export interface MetaMaskConnectorOptions extends BaseConnectorSettings {
4
- connectorSettings?: Partial<MetaMaskSDKOptions>;
22
+ connectorSettings?: MetaMaskConnectorSettings;
5
23
  }
6
- export declare const metaMaskConnector: (params?: Partial<MetaMaskSDKOptions>) => ConnectorFn;
24
+ /**
25
+ * Factory function to create a MetaMask connector
26
+ *
27
+ * @param params - Configuration options for the MetaMask SDK
28
+ * @returns A connector function that creates a MetaMaskConnector instance
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const connector = metaMaskConnector({
33
+ * dapp: { name: 'My DApp', url: 'https://mydapp.com' },
34
+ * debug: true,
35
+ * });
36
+ * ```
37
+ */
38
+ export declare const metaMaskConnector: (params?: MetaMaskConnectorSettings) => ConnectorFn;