@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
@@ -0,0 +1,51 @@
1
+ import { post } from '@toruslabs/http-helpers';
2
+ import { AccountLinkingError } from '../base/errors/index.js';
3
+
4
+ /**
5
+ * Send both identity proofs to the Citadel account-linking endpoint and
6
+ * return a normalized result.
7
+ *
8
+ * Throws AccountLinkingError when the server returns an error or the request itself fails.
9
+ */
10
+ async function makeAccountLinkingRequest(authServerUrl, accessToken, payload) {
11
+ const url = `${authServerUrl}/v1/link/wallet`;
12
+ let result;
13
+ try {
14
+ result = await post(url, payload, {
15
+ headers: {
16
+ Authorization: `Bearer ${accessToken}`
17
+ }
18
+ });
19
+ } catch (cause) {
20
+ const message = cause instanceof Error ? cause.message : String(cause);
21
+ throw AccountLinkingError.requestFailed(message, cause);
22
+ }
23
+ if (!result.success) {
24
+ var _result$message;
25
+ const errMessage = (_result$message = result.message) !== null && _result$message !== void 0 ? _result$message : "Failed to link account";
26
+ throw AccountLinkingError.requestFailed(errMessage);
27
+ }
28
+ return result;
29
+ }
30
+ async function makeAccountUnlinkingRequest(authServerUrl, accessToken, payload) {
31
+ const url = `${authServerUrl}/v1/unlink`;
32
+ let result;
33
+ try {
34
+ result = await post(url, payload, {
35
+ headers: {
36
+ Authorization: `Bearer ${accessToken}`
37
+ }
38
+ });
39
+ } catch (cause) {
40
+ const message = cause instanceof Error ? cause.message : String(cause);
41
+ throw AccountLinkingError.requestFailed(message, cause);
42
+ }
43
+ if (!result.success) {
44
+ var _result$message2;
45
+ const errMessage = (_result$message2 = result.message) !== null && _result$message2 !== void 0 ? _result$message2 : "Failed to unlink account";
46
+ throw AccountLinkingError.requestFailed(errMessage);
47
+ }
48
+ return result;
49
+ }
50
+
51
+ export { makeAccountLinkingRequest, makeAccountUnlinkingRequest };
@@ -0,0 +1,78 @@
1
+ import { ref } from 'vue';
2
+ import { useWeb3AuthInner } from '../vue/composables/useWeb3AuthInner.js';
3
+ import { WalletInitializationError } from '../base/errors/index.js';
4
+ import { log } from '../base/loglevel.js';
5
+ export { makeAccountLinkingRequest, makeAccountUnlinkingRequest } from './rest.js';
6
+
7
+ const useLinkAccount = () => {
8
+ const {
9
+ web3Auth
10
+ } = useWeb3AuthInner();
11
+ const loading = ref(false);
12
+ const error = ref(null);
13
+ const linkedAccounts = ref([]);
14
+ const linkAccount = async params => {
15
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
16
+ try {
17
+ error.value = null;
18
+ loading.value = true;
19
+ const result = await web3Auth.value.linkAccount(params);
20
+ linkedAccounts.value = result.linkedAccounts;
21
+ return result;
22
+ } catch (err) {
23
+ log.error("Error linking account", err);
24
+ error.value = err;
25
+ } finally {
26
+ loading.value = false;
27
+ }
28
+ };
29
+ const unlinkAccount = async address => {
30
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
31
+ try {
32
+ error.value = null;
33
+ loading.value = true;
34
+ const result = await web3Auth.value.unlinkAccount(address);
35
+ linkedAccounts.value = result.linkedAccounts;
36
+ return result;
37
+ } catch (err) {
38
+ log.error("Error unlinking account", err);
39
+ error.value = err;
40
+ } finally {
41
+ loading.value = false;
42
+ }
43
+ };
44
+ return {
45
+ loading,
46
+ error,
47
+ linkAccount,
48
+ unlinkAccount,
49
+ linkedAccounts
50
+ };
51
+ };
52
+ const useSwitchAccount = () => {
53
+ const {
54
+ web3Auth
55
+ } = useWeb3AuthInner();
56
+ const loading = ref(false);
57
+ const error = ref(null);
58
+ const switchAccount = async account => {
59
+ if (!web3Auth.value) throw WalletInitializationError.notReady();
60
+ error.value = null;
61
+ loading.value = true;
62
+ try {
63
+ await web3Auth.value.switchAccount(account);
64
+ } catch (err) {
65
+ log.error("Error switching account", err);
66
+ error.value = err;
67
+ } finally {
68
+ loading.value = false;
69
+ }
70
+ };
71
+ return {
72
+ loading,
73
+ error,
74
+ switchAccount
75
+ };
76
+ };
77
+
78
+ export { useLinkAccount, useSwitchAccount };
@@ -118,7 +118,19 @@ const ANALYTICS_EVENTS = {
118
118
  WALLET_FUNDING_CLICKED: "Wallet Funding Clicked",
119
119
  WALLET_CHECKOUT_CLICKED: "Wallet Checkout Clicked",
120
120
  WALLET_RECEIVE_CLICKED: "Wallet Receive Clicked",
121
- WALLET_SWAP_CLICKED: "Wallet Swap Clicked"
121
+ WALLET_SWAP_CLICKED: "Wallet Swap Clicked",
122
+ // Account Linking
123
+ ACCOUNT_LINKING_STARTED: "Account Linking Started",
124
+ ACCOUNT_LINKING_COMPLETED: "Account Linking Completed",
125
+ ACCOUNT_LINKING_FAILED: "Account Linking Failed",
126
+ // Account Unlinking
127
+ ACCOUNT_UNLINKING_STARTED: "Account Unlinking Started",
128
+ ACCOUNT_UNLINKING_COMPLETED: "Account Unlinking Completed",
129
+ ACCOUNT_UNLINKING_FAILED: "Account Unlinking Failed",
130
+ // Account switch (active connected wallet)
131
+ ACCOUNT_SWITCH_STARTED: "Account Switch Started",
132
+ ACCOUNT_SWITCH_COMPLETED: "Account Switch Completed",
133
+ ACCOUNT_SWITCH_FAILED: "Account Switch Failed"
122
134
  };
123
135
  const ANALYTICS_INTEGRATION_TYPE = {
124
136
  REACT_HOOKS: "React Hooks",
@@ -1,11 +1,15 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { CHAIN_NAMESPACES, verifySignedChallenge, getDeviceInfo } from '@toruslabs/base-controllers';
3
+ import { AuthSessionManager } from '@toruslabs/session-manager';
2
4
  import { SafeEventEmitter } from '@web3auth/auth';
3
5
  import { CONNECTOR_NAMESPACES } from '../chain/IChainInterface.js';
4
6
  import { WalletInitializationError, WalletLoginError } from '../errors/index.js';
7
+ import { log } from '../loglevel.js';
8
+ import { citadelServerUrl } from '../utils.js';
5
9
  import { WALLET_CONNECTORS } from '../wallet/index.js';
6
10
  import { CONNECTED_STATUSES, CAN_AUTHORIZE_STATUSES } from './connectorStatus.js';
7
11
  import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from './constants.js';
8
- import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
12
+ import { checkIfTokenIsExpired } from './utils.js';
9
13
 
10
14
  class BaseConnector extends SafeEventEmitter {
11
15
  constructor(options) {
@@ -15,6 +19,7 @@ class BaseConnector extends SafeEventEmitter {
15
19
  _defineProperty(this, "icon", void 0);
16
20
  _defineProperty(this, "coreOptions", void 0);
17
21
  _defineProperty(this, "rehydrated", false);
22
+ _defineProperty(this, "authSessionManager", null);
18
23
  _defineProperty(this, "connectorNamespace", void 0);
19
24
  _defineProperty(this, "type", void 0);
20
25
  _defineProperty(this, "name", void 0);
@@ -27,6 +32,12 @@ class BaseConnector extends SafeEventEmitter {
27
32
  get canAuthorize() {
28
33
  return CAN_AUTHORIZE_STATUSES.includes(this.status);
29
34
  }
35
+ get solanaWallet() {
36
+ return null;
37
+ }
38
+ get provider() {
39
+ return null;
40
+ }
30
41
  checkConnectionRequirements() {
31
42
  // we reconnect without killing existing Wallet Connect or Metamask Connect session on calling connect again.
32
43
  if (this.name === WALLET_CONNECTORS.WALLET_CONNECT_V2 && this.status === CONNECTOR_STATUS.CONNECTING) return;
@@ -55,7 +66,7 @@ class BaseConnector extends SafeEventEmitter {
55
66
  if (!this.connected) throw WalletLoginError.disconnectionError("Not connected with wallet");
56
67
  }
57
68
  checkSwitchChainRequirements(params, init = false) {
58
- if (!init && !this.provider) throw WalletLoginError.notConnectedError("Not connected with wallet.");
69
+ if (!init && !this.provider && !this.solanaWallet) throw WalletLoginError.notConnectedError("Not connected with wallet.");
59
70
  if (!this.coreOptions.chains) throw WalletInitializationError.invalidParams("chainConfigs is required");
60
71
  const doesChainExist = this.coreOptions.chains.some(x => x.chainId === params.chainId && (x.chainNamespace === this.connectorNamespace || this.connectorNamespace === CONNECTOR_NAMESPACES.MULTICHAIN));
61
72
  if (!doesChainExist) throw WalletInitializationError.invalidParams("Invalid chainId");
@@ -67,6 +78,97 @@ class BaseConnector extends SafeEventEmitter {
67
78
  data
68
79
  });
69
80
  }
81
+ initSessionManager(address) {
82
+ this.authSessionManager = new AuthSessionManager({
83
+ storageKeyPrefix: `w3a:siww:${this.name}:${address.toLowerCase()}`,
84
+ apiClientConfig: {
85
+ baseURL: citadelServerUrl(this.coreOptions.authBuildEnv)
86
+ },
87
+ storage: this.coreOptions.storage,
88
+ cookieOptions: this.coreOptions.cookieOptions
89
+ });
90
+ }
91
+ async getCachedAuthTokenInfo() {
92
+ if (!this.authSessionManager) return null;
93
+ const idToken = await this.authSessionManager.getIdToken();
94
+ if (!idToken || checkIfTokenIsExpired(idToken)) return null;
95
+ let [accessToken, refreshToken] = await Promise.all([this.authSessionManager.getAccessToken(), this.authSessionManager.getRefreshToken()]);
96
+ if ((!accessToken || checkIfTokenIsExpired(accessToken)) && refreshToken) {
97
+ try {
98
+ const response = await this.authSessionManager.ensureRefresh();
99
+ accessToken = response.access_token || (await this.authSessionManager.getAccessToken());
100
+ refreshToken = response.refresh_token || refreshToken;
101
+ } catch {
102
+ // access token refresh failed; still return the valid idToken
103
+ log.error("Access token refresh failed");
104
+ }
105
+ }
106
+ return {
107
+ idToken,
108
+ accessToken: accessToken !== null && accessToken !== void 0 ? accessToken : undefined,
109
+ refreshToken: refreshToken !== null && refreshToken !== void 0 ? refreshToken : undefined
110
+ };
111
+ }
112
+ async saveAuthTokenInfo(tokens) {
113
+ if (!this.authSessionManager) return;
114
+ await this.authSessionManager.setTokens({
115
+ idToken: tokens.idToken,
116
+ accessToken: tokens.accessToken,
117
+ refreshToken: tokens.refreshToken
118
+ });
119
+ }
120
+ async getCachedOrNullAuthTokenInfo(account) {
121
+ this.initSessionManager(account);
122
+ const cached = await this.getCachedAuthTokenInfo();
123
+ if (cached) {
124
+ this.status = CONNECTOR_STATUS.AUTHORIZED;
125
+ this.emit(CONNECTOR_EVENTS.AUTHORIZED, {
126
+ connector: this.name,
127
+ authTokenInfo: cached
128
+ });
129
+ }
130
+ return cached;
131
+ }
132
+ async verifyAndAuthorize(params) {
133
+ const tokens = await verifySignedChallenge({
134
+ chainNamespace: params.chainNamespace,
135
+ signedMessage: params.signedMessage,
136
+ challenge: params.challenge,
137
+ connector: this.name,
138
+ authServer: params.authServer,
139
+ web3AuthClientId: this.coreOptions.clientId,
140
+ web3AuthNetwork: this.coreOptions.web3AuthNetwork,
141
+ sessionTimeout: this.coreOptions.sessionTime,
142
+ deviceInfo: getDeviceInfo()
143
+ });
144
+ await this.saveAuthTokenInfo(tokens);
145
+ const tokenInfo = {
146
+ idToken: tokens.idToken,
147
+ accessToken: tokens.accessToken,
148
+ refreshToken: tokens.refreshToken
149
+ };
150
+ this.status = CONNECTOR_STATUS.AUTHORIZED;
151
+ this.emit(CONNECTOR_EVENTS.AUTHORIZED, {
152
+ connector: this.name,
153
+ authTokenInfo: tokenInfo
154
+ });
155
+ return tokenInfo;
156
+ }
157
+ async clearWalletSession() {
158
+ if (!this.authSessionManager) return;
159
+ try {
160
+ await this.authSessionManager.logout();
161
+ } catch {
162
+ try {
163
+ await this.authSessionManager.clearSessionData();
164
+ } catch {
165
+ // best-effort cleanup; don't block disconnect
166
+ log.error("Failed to clear wallet session");
167
+ }
168
+ } finally {
169
+ this.authSessionManager = null;
170
+ }
171
+ }
70
172
  }
71
173
 
72
174
  export { BaseConnector };
@@ -2,5 +2,6 @@ import { CONNECTOR_STATUS } from './constants.js';
2
2
 
3
3
  const CONNECTED_STATUSES = [CONNECTOR_STATUS.CONNECTED, CONNECTOR_STATUS.AUTHORIZED];
4
4
  const CAN_AUTHORIZE_STATUSES = [CONNECTOR_STATUS.AUTHORIZING, CONNECTOR_STATUS.AUTHORIZED, CONNECTOR_STATUS.CONNECTED];
5
+ const CAN_LOGOUT_STATUSES = [...CONNECTED_STATUSES, CONNECTOR_STATUS.CONSENT_REQUIRING];
5
6
 
6
- export { CAN_AUTHORIZE_STATUSES, CONNECTED_STATUSES };
7
+ export { CAN_AUTHORIZE_STATUSES, CAN_LOGOUT_STATUSES, CONNECTED_STATUSES };
@@ -9,14 +9,18 @@ const CONNECTOR_STATUS = {
9
9
  DISCONNECTED: "disconnected",
10
10
  ERRORED: "errored",
11
11
  AUTHORIZED: "authorized",
12
- AUTHORIZING: "authorizing"
12
+ AUTHORIZING: "authorizing",
13
+ CONSENT_REQUIRING: "consent_requiring"
13
14
  };
14
15
  const CONNECTOR_EVENTS = _objectSpread(_objectSpread({}, CONNECTOR_STATUS), {}, {
15
16
  CONNECTOR_DATA_UPDATED: "connector_data_updated",
16
17
  CACHE_CLEAR: "cache_clear",
17
18
  CONNECTORS_UPDATED: "connectors_updated",
18
19
  MFA_ENABLED: "mfa_enabled",
19
- REHYDRATION_ERROR: "rehydration_error"
20
+ REHYDRATION_ERROR: "rehydration_error",
21
+ /** Emitted when the active public `connection` changes without a full reconnect (e.g. account switch). */
22
+ CONNECTION_UPDATED: "connection_updated",
23
+ CONSENT_ACCEPTED: "consent_accepted"
20
24
  });
21
25
  const CONNECTOR_CATEGORY = {
22
26
  EXTERNAL: "external",
@@ -38,23 +38,5 @@ const checkIfTokenIsExpired = token => {
38
38
  }
39
39
  return false;
40
40
  };
41
- const getSavedToken = (userAddress, issuer) => {
42
- if (storageAvailable("localStorage")) {
43
- return localStorage.getItem(`${userAddress.toLowerCase()}_${issuer}`);
44
- }
45
- return null;
46
- };
47
- const saveToken = (userAddress, issuer, token) => {
48
- if (storageAvailable("localStorage")) {
49
- return localStorage.setItem(`${userAddress.toLowerCase()}_${issuer}`, token);
50
- }
51
- return null;
52
- };
53
- const clearToken = (userAddress, issuer) => {
54
- if (storageAvailable("localStorage")) {
55
- return localStorage.removeItem(`${userAddress.toLowerCase()}_${issuer}`);
56
- }
57
- return null;
58
- };
59
41
 
60
- export { checkIfTokenIsExpired, clearToken, getSavedToken, saveToken, storageAvailable };
42
+ export { checkIfTokenIsExpired, storageAvailable };
@@ -1,3 +1,5 @@
1
+ import { SMART_ACCOUNT } from '@toruslabs/ethereum-controllers';
2
+
1
3
  const SMART_ACCOUNT_WALLET_SCOPE = {
2
4
  EMBEDDED: "embedded",
3
5
  ALL: "all"
@@ -21,6 +23,7 @@ const SOLANA_CAIP_CHAIN_MAP = {
21
23
  "0x66": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
22
24
  "0x67": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
23
25
  };
26
+ const EIP_7702_SUPPORTED_SMART_ACCOUNTS = [SMART_ACCOUNT.METAMASK];
24
27
  const WALLET_REGISTRY_URL = "https://assets.web3auth.io/v2/wallet-registry.json";
25
28
 
26
- export { LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, SOLANA_CAIP_CHAIN_MAP, WALLET_REGISTRY_URL, WEB3AUTH_STATE_STORAGE_KEY, WIDGET_TYPE };
29
+ export { EIP_7702_SUPPORTED_SMART_ACCOUNTS, LOGIN_MODE, MODAL_SIGN_IN_METHODS, SMART_ACCOUNT_WALLET_SCOPE, SOLANA_CAIP_CHAIN_MAP, WALLET_REGISTRY_URL, WEB3AUTH_STATE_STORAGE_KEY, WIDGET_TYPE };
@@ -1,24 +1,6 @@
1
1
  import { WEB3AUTH_STATE_STORAGE_KEY } from './constants.js';
2
2
  import { deserialize } from './deserialize.js';
3
3
 
4
- const cookieStorage = options => ({
5
- getItem(key) {
6
- if (typeof window === "undefined") return null;
7
- const value = parseCookie(document.cookie, key);
8
- return value !== null && value !== void 0 ? value : null;
9
- },
10
- setItem(key, value) {
11
- if (typeof window === "undefined") return;
12
- let cookieString = `${key}=${value};path=/;samesite=Lax`;
13
- if (options !== null && options !== void 0 && options.expiry && typeof options.expiry === "number") cookieString += `; expires=${new Date(Date.now() + options.expiry).toUTCString()}`;
14
- if (process.env.NODE_ENV === "production") cookieString += "; secure";
15
- document.cookie = cookieString;
16
- },
17
- removeItem(key) {
18
- if (typeof window === "undefined") return;
19
- document.cookie = `${key}=;max-age=-1;path=/`;
20
- }
21
- });
22
4
  function cookieToWeb3AuthState(cookie) {
23
5
  if (!cookie) return undefined;
24
6
  const parsed = parseCookie(cookie, WEB3AUTH_STATE_STORAGE_KEY);
@@ -28,7 +10,12 @@ function cookieToWeb3AuthState(cookie) {
28
10
  function parseCookie(cookie, key) {
29
11
  const keyValue = cookie.split("; ").find(x => x.startsWith(`${key}=`));
30
12
  if (!keyValue) return undefined;
31
- return keyValue.substring(key.length + 1);
13
+ const value = keyValue.substring(key.length + 1);
14
+ try {
15
+ return decodeURIComponent(value);
16
+ } catch {
17
+ return value;
18
+ }
32
19
  }
33
20
 
34
- export { cookieStorage, cookieToWeb3AuthState, parseCookie };
21
+ export { cookieToWeb3AuthState, parseCookie };
@@ -1,21 +1,41 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { CustomError } from 'ts-custom-error';
3
2
 
3
+ var _objectHasOwn = function (object, property) {
4
+ if (typeof object === 'undefined' || object === null) {
5
+ throw new TypeError('Cannot convert undefined or null to object');
6
+ }
7
+ return Object.prototype.hasOwnProperty.call(Object(object), property);
8
+ };
4
9
  // @flow
5
10
 
6
- class Web3AuthError extends CustomError {
11
+ class Web3AuthError extends Error {
7
12
  constructor(code, message, cause) {
8
- // takes care of stack and proto
9
- super(message);
10
- _defineProperty(this, "code", void 0);
11
- _defineProperty(this, "message", void 0);
12
- _defineProperty(this, "cause", void 0);
13
+ if (cause !== undefined) {
14
+ super(message, {
15
+ cause
16
+ });
17
+ // Browser backwards-compatibility fallback
18
+ _defineProperty(this, "code", void 0);
19
+ _defineProperty(this, "message", void 0);
20
+ _defineProperty(this, "cause", void 0);
21
+ if (!_objectHasOwn(this, "cause")) {
22
+ Object.assign(this, {
23
+ cause
24
+ });
25
+ }
26
+ } else {
27
+ super(message);
28
+ _defineProperty(this, "code", void 0);
29
+ _defineProperty(this, "message", void 0);
30
+ _defineProperty(this, "cause", void 0);
31
+ }
13
32
  this.code = code;
14
33
  this.message = message || "";
15
34
  this.cause = cause;
16
35
  // Set name explicitly as minification can mangle class names
17
36
  Object.defineProperty(this, "name", {
18
- value: "Web3AuthError"
37
+ value: "Web3AuthError",
38
+ configurable: true
19
39
  });
20
40
  }
21
41
  toJSON() {
@@ -37,7 +57,8 @@ class WalletInitializationError extends Web3AuthError {
37
57
 
38
58
  // Set name explicitly as minification can mangle class names
39
59
  Object.defineProperty(this, "name", {
40
- value: "WalletInitializationError"
60
+ value: "WalletInitializationError",
61
+ configurable: true
41
62
  });
42
63
  }
43
64
  static fromCode(code, extraMessage = "", cause) {
@@ -108,7 +129,8 @@ class WalletLoginError extends Web3AuthError {
108
129
 
109
130
  // Set name explicitly as minification can mangle class names
110
131
  Object.defineProperty(this, "name", {
111
- value: "WalletLoginError"
132
+ value: "WalletLoginError",
133
+ configurable: true
112
134
  });
113
135
  }
114
136
  static fromCode(code, extraMessage = "", cause) {
@@ -161,7 +183,8 @@ class WalletOperationsError extends Web3AuthError {
161
183
 
162
184
  // Set name explicitly as minification can mangle class names
163
185
  Object.defineProperty(this, "name", {
164
- value: "WalletOperationsError"
186
+ value: "WalletOperationsError",
187
+ configurable: true
165
188
  });
166
189
  }
167
190
  static fromCode(code, extraMessage = "", cause) {
@@ -184,6 +207,53 @@ _defineProperty(WalletOperationsError, "messages", {
184
207
  5201: "Provided chainId is not allowed",
185
208
  5202: "This operation is not allowed"
186
209
  });
210
+ class AccountLinkingError extends Web3AuthError {
211
+ constructor(code, message, cause) {
212
+ super(code, message, cause);
213
+ Object.defineProperty(this, "name", {
214
+ value: "AccountLinkingError",
215
+ configurable: true
216
+ });
217
+ }
218
+ static fromCode(code, extraMessage = "", cause) {
219
+ return new AccountLinkingError(code, `${AccountLinkingError.messages[code]}. ${extraMessage}`, cause);
220
+ }
221
+ static requestFailed(extraMessage = "", cause) {
222
+ return AccountLinkingError.fromCode(5401, extraMessage, cause);
223
+ }
224
+ static serverNotConfigured(extraMessage = "", cause) {
225
+ return AccountLinkingError.fromCode(5402, extraMessage, cause);
226
+ }
227
+ static primaryTokenNotAvailable(extraMessage = "", cause) {
228
+ return AccountLinkingError.fromCode(5403, extraMessage, cause);
229
+ }
230
+ static walletProofFailed(extraMessage = "", cause) {
231
+ return AccountLinkingError.fromCode(5404, extraMessage, cause);
232
+ }
233
+ static unsupportedConnector(extraMessage = "", cause) {
234
+ return AccountLinkingError.fromCode(5405, extraMessage, cause);
235
+ }
236
+ static cannotUnlinkActiveAccount() {
237
+ return AccountLinkingError.fromCode(5406);
238
+ }
239
+ static accountNotLinked(message = "", cause) {
240
+ return AccountLinkingError.fromCode(5407, message, cause);
241
+ }
242
+ static cannotUnlinkPrimaryAccount() {
243
+ return AccountLinkingError.fromCode(5408);
244
+ }
245
+ }
246
+ _defineProperty(AccountLinkingError, "messages", {
247
+ 5000: "Custom",
248
+ 5401: "Account linking request failed",
249
+ 5402: "Citadel server URL is not configured",
250
+ 5403: "Primary identity token is not available",
251
+ 5404: "Failed to obtain wallet proof token",
252
+ 5405: "Connector is not supported for wallet linking",
253
+ 5406: "Cannot unlink active account",
254
+ 5407: "Account not linked",
255
+ 5408: "Cannot unlink primary account"
256
+ });
187
257
  class WalletProviderError extends Web3AuthError {
188
258
  constructor(code, message, cause) {
189
259
  // takes care of stack and proto
@@ -191,7 +261,8 @@ class WalletProviderError extends Web3AuthError {
191
261
 
192
262
  // Set name explicitly as minification can mangle class names
193
263
  Object.defineProperty(this, "name", {
194
- value: "WalletProviderError"
264
+ value: "WalletProviderError",
265
+ configurable: true
195
266
  });
196
267
  }
197
268
  static fromCode(code, extraMessage = "", cause) {
@@ -216,4 +287,4 @@ _defineProperty(WalletProviderError, "messages", {
216
287
  5303: "'args.params' must be an object or array if provided."
217
288
  });
218
289
 
219
- export { WalletInitializationError, WalletLoginError, WalletOperationsError, WalletProviderError, Web3AuthError };
290
+ export { AccountLinkingError, WalletInitializationError, WalletLoginError, WalletOperationsError, WalletProviderError, Web3AuthError };
@@ -1,16 +1,19 @@
1
1
  import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
2
2
  export { cloneDeep } from '@toruslabs/base-controllers';
3
- import { SIGNER_MAP } from '@toruslabs/constants';
3
+ import { CITADEL_SERVER_MAP, DASHBOARD_PUBLIC_API_MAP } from '@toruslabs/constants';
4
4
  import { get } from '@toruslabs/http-helpers';
5
+ import { BUILD_ENV } from '@web3auth/auth';
5
6
  import { WALLET_REGISTRY_URL, SOLANA_CAIP_CHAIN_MAP } from './constants.js';
6
7
  import { Web3AuthError } from './errors/index.js';
7
- import { WEB3AUTH_NETWORK } from '@web3auth/auth';
8
8
 
9
9
  const isHexStrict = hex => {
10
10
  return (typeof hex === "string" || typeof hex === "number") && /^(-)?0x[0-9a-f]*$/i.test(hex);
11
11
  };
12
- const signerHost = (web3AuthNetwork = WEB3AUTH_NETWORK.SAPPHIRE_MAINNET) => {
13
- return SIGNER_MAP[web3AuthNetwork];
12
+ const dashboardPublicApiUrl = buildEnv => {
13
+ return DASHBOARD_PUBLIC_API_MAP[buildEnv];
14
+ };
15
+ const citadelServerUrl = (buildEnv = BUILD_ENV.PRODUCTION) => {
16
+ return CITADEL_SERVER_MAP[buildEnv];
14
17
  };
15
18
  const fetchProjectConfig = async ({
16
19
  clientId,
@@ -18,7 +21,7 @@ const fetchProjectConfig = async ({
18
21
  aaProvider,
19
22
  authBuildEnv
20
23
  }) => {
21
- const url = new URL(`${signerHost(web3AuthNetwork)}/api/v2/configuration`);
24
+ const url = new URL(`${dashboardPublicApiUrl(authBuildEnv)}/api/v2/configuration`);
22
25
  url.searchParams.append("project_id", clientId);
23
26
  url.searchParams.append("network", web3AuthNetwork);
24
27
  if (authBuildEnv) url.searchParams.append("build_env", authBuildEnv);
@@ -146,7 +149,7 @@ const getWalletServicesAnalyticsProperties = walletServicesConfig => {
146
149
  ws_default_portfolio: walletServicesConfig === null || walletServicesConfig === void 0 || (_walletServicesConfig10 = walletServicesConfig.whiteLabel) === null || _walletServicesConfig10 === void 0 ? void 0 : _walletServicesConfig10.defaultPortfolio
147
150
  };
148
151
  };
149
- const sdkVersion = "10.16.0";
152
+ const sdkVersion = "11.0.0-beta.1";
150
153
  const getErrorAnalyticsProperties = error => {
151
154
  try {
152
155
  const code = error instanceof Web3AuthError ? error.code : error === null || error === void 0 ? void 0 : error.code;
@@ -181,4 +184,16 @@ const getCaipChainId = chain => {
181
184
  return `${chain.chainNamespace}:${chain.chainId}`;
182
185
  };
183
186
 
184
- export { fetchProjectConfig, fetchWalletRegistry, fromViemChain, fromWagmiChain, getAaAnalyticsProperties, getCaipChainId, getErrorAnalyticsProperties, getHostname, getWalletServicesAnalyticsProperties, getWhitelabelAnalyticsProperties, isBrowser, isHexStrict, normalizeWalletName, sdkVersion, signerHost, withAbort };
187
+ /**
188
+ * Parse the chain namespace from the citadel response
189
+ * @param chainNamespace - The chain namespace from the citadel response
190
+ * @returns The parsed chain namespace
191
+ */
192
+ const parseChainNamespaceFromCitadelResponse = chainNamespace => {
193
+ if (chainNamespace === "evm") {
194
+ return CHAIN_NAMESPACES.EIP155;
195
+ }
196
+ return chainNamespace;
197
+ };
198
+
199
+ export { citadelServerUrl, dashboardPublicApiUrl, fetchProjectConfig, fetchWalletRegistry, fromViemChain, fromWagmiChain, getAaAnalyticsProperties, getCaipChainId, getErrorAnalyticsProperties, getHostname, getWalletServicesAnalyticsProperties, getWhitelabelAnalyticsProperties, isBrowser, isHexStrict, normalizeWalletName, parseChainNamespaceFromCitadelResponse, sdkVersion, withAbort };
@@ -16,5 +16,6 @@ const CONNECTOR_NAMES = {
16
16
  [EVM_CONNECTORS.COINBASE]: "Coinbase Smart Wallet",
17
17
  [EVM_CONNECTORS.METAMASK]: "MetaMask"
18
18
  };
19
+ const WEB3AUTH_ICON = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTciIHZpZXdCb3g9IjAgMCA5NiA5NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NC4wMzQ2IDczLjI2MjRDNDMuODU5NSA3My45MTU5IDQ0LjM1MTkgNzQuNTU3NiA0NS4wMjg1IDc0LjU1NzZINTAuOTUzOUM1MS42MzA0IDc0LjU1NzYgNTIuMTIyOSA3My45MTU5IDUxLjk0NzggNzMuMjYyNEw0OC45ODUgNjIuMjA1M0M0OC43MTI2IDYxLjE4ODUgNDcuMjY5OCA2MS4xODg1IDQ2Ljk5NzMgNjIuMjA1M0w0NC4wMzQ2IDczLjI2MjRaIiBmaWxsPSIjMDM2NEZGIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzguMTM0NSA4MC4zMzk2QzM3LjY4MDcgODIuMDMzIDM2LjE0NjEgODMuMjEwNiAzNC4zOTI5IDgzLjIxMDZIMjYuMzcyNkMyMy44MjU2IDgzLjIxMDYgMjEuOTcxOSA4MC43OTQ3IDIyLjYzMTEgNzguMzM0NUwzOS4wODQ0IDE2LjkyOTlDMzkuNTgwNyAxNS4wNzc3IDQxLjI1OTEgMTMuNzg5NyA0My4xNzY3IDEzLjc4OTdINTIuNzIxOUM1NC42Mzk0IDEzLjc4OTcgNTYuMzE3OSAxNS4wNzc3IDU2LjgxNDIgMTYuOTI5OUw3My4yNjc1IDc4LjMzNDVDNzMuOTI2NyA4MC43OTQ3IDcyLjA3MjkgODMuMjEwNiA2OS41MjYgODMuMjEwNkg2MS41MDU2QzU5Ljc1MjQgODMuMjEwNiA1OC4yMTc4IDgyLjAzMyA1Ny43NjQxIDgwLjMzOTZMNDkuNzYxNiA1MC40NzM4QzQ5LjI2NDggNDguNjE5NyA0Ni42MzM4IDQ4LjYxOTcgNDYuMTM3IDUwLjQ3MzhMMzguMTM0NSA4MC4zMzk2WiIgZmlsbD0iIzAzNjRGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTc4LjQ3NzQgNjguNzY4NUM3Ny45NjQ2IDcwLjY4MjQgNzUuMjQ4NyA3MC42ODI0IDc0LjczNTkgNjguNzY4NUw2OC43NjI2IDQ2LjQ3NTlDNjguNjQ3MSA0Ni4wNDQ5IDY4LjY0NzEgNDUuNTkxIDY4Ljc2MjYgNDUuMTZMNzYuMzc1MSAxNi43NUM3Ni44NDMgMTUuMDAzNiA3OC40MjU2IDEzLjc4OTMgODAuMjMzNSAxMy43ODkzSDg4LjAwMzJDOTAuNjI5OCAxMy43ODkzIDkyLjU0MTUgMTYuMjgwNyA5MS44NjE3IDE4LjgxNzhMNzguNDc3NCA2OC43Njg1Wk0yNy4yMjc0IDQ2LjQzODdDMjcuMzQyOSA0Ni4wMDc3IDI3LjM0MjkgNDUuNTUzOSAyNy4yMjc0IDQ1LjEyMjhMMTkuNjI0OSAxNi43NUMxOS4xNTcgMTUuMDAzNiAxNy41NzQ0IDEzLjc4OTMgMTUuNzY2NSAxMy43ODkzSDcuOTk2NzdDNS4zNzAyMyAxMy43ODkzIDMuNDU4NTEgMTYuMjgwNyA0LjEzODMxIDE4LjgxNzhMMTcuNTEyNiA2OC43MzEzQzE4LjAyNTQgNzAuNjQ1MiAyMC43NDEzIDcwLjY0NTIgMjEuMjU0MSA2OC43MzEzTDI3LjIyNzQgNDYuNDM4N1oiIGZpbGw9IiMwMzY0RkYiLz4KPC9zdmc+Cg==`;
19
20
 
20
- export { CONNECTOR_NAMES, EVM_CONNECTORS, MULTI_CHAIN_CONNECTORS, SOLANA_CONNECTORS, WALLET_CONNECTORS };
21
+ export { CONNECTOR_NAMES, EVM_CONNECTORS, MULTI_CHAIN_CONNECTORS, SOLANA_CONNECTORS, WALLET_CONNECTORS, WEB3AUTH_ICON };