@web3auth/no-modal 10.15.0 → 11.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  2. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  3. package/dist/lib.cjs/base/connector/constants.js +4 -2
  4. package/dist/lib.cjs/base/connector/utils.js +0 -21
  5. package/dist/lib.cjs/base/constants.js +4 -0
  6. package/dist/lib.cjs/base/cookie.js +6 -20
  7. package/dist/lib.cjs/base/errors/index.js +36 -12
  8. package/dist/lib.cjs/base/utils.js +10 -11
  9. package/dist/lib.cjs/base/wallet/index.js +7 -0
  10. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  11. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
  12. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  13. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
  14. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
  15. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  16. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  17. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  18. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
  19. package/dist/lib.cjs/connectors/utils.js +8 -2
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +36 -71
  26. package/dist/lib.cjs/noModal.js +223 -133
  27. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  31. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  32. package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
  33. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  34. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  35. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  36. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  37. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  38. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  39. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  41. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  42. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  43. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  44. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  45. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  46. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  47. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
  48. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  49. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  50. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  51. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  52. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  53. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  54. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  55. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  57. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  58. package/dist/lib.cjs/react/index.js +10 -2
  59. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  60. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  61. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  62. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  63. package/dist/lib.cjs/react/solana/index.js +2 -0
  64. package/dist/lib.cjs/react/solana/provider.js +167 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
  67. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  68. package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
  69. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
  70. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  71. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  72. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  73. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
  74. package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
  75. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
  77. package/dist/lib.cjs/types/base/utils.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  79. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
  81. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  82. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
  83. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
  84. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  85. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  86. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  87. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  88. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  89. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  90. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  91. package/dist/lib.cjs/types/noModal.d.ts +12 -8
  92. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  94. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  95. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  96. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  97. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  98. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  99. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  101. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  102. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  105. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  106. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  107. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  108. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  109. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  112. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  113. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  115. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  116. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  117. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  118. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  119. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  120. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  121. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  122. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  123. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  125. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  128. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  130. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  131. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  132. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  134. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  135. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  136. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  137. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  138. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  139. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  140. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  141. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  142. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  143. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  146. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  147. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  153. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  157. package/dist/lib.cjs/vue/index.js +8 -2
  158. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  159. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  163. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  164. package/dist/lib.cjs/vue/solana/index.js +6 -0
  165. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  166. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  167. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  168. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  169. package/dist/lib.cjs/x402/index.js +175 -0
  170. package/dist/lib.cjs/x402/interfaces.js +5 -0
  171. package/dist/lib.cjs/x402/react.js +64 -0
  172. package/dist/lib.cjs/x402/vue.js +58 -0
  173. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  174. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  175. package/dist/lib.esm/base/connector/constants.js +4 -2
  176. package/dist/lib.esm/base/connector/utils.js +1 -19
  177. package/dist/lib.esm/base/constants.js +4 -1
  178. package/dist/lib.esm/base/cookie.js +7 -20
  179. package/dist/lib.esm/base/errors/index.js +36 -12
  180. package/dist/lib.esm/base/utils.js +10 -7
  181. package/dist/lib.esm/base/wallet/index.js +2 -1
  182. package/dist/lib.esm/base/wallet/solana.js +81 -0
  183. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  184. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  185. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  186. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  187. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  188. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  190. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  191. package/dist/lib.esm/connectors/utils.js +9 -4
  192. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  193. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  194. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  197. package/dist/lib.esm/index.js +9 -17
  198. package/dist/lib.esm/noModal.js +225 -133
  199. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  200. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  201. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  202. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  203. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  204. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  205. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  206. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  207. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  208. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  210. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  211. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  212. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  213. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  214. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  215. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  216. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  217. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  218. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  219. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  220. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  221. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  222. package/dist/lib.esm/react/index.js +5 -1
  223. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  224. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  225. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  226. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  227. package/dist/lib.esm/react/solana/index.js +1 -0
  228. package/dist/lib.esm/react/solana/provider.js +150 -0
  229. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  230. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  231. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  232. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  233. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  234. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  235. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  236. package/dist/lib.esm/vue/index.js +4 -1
  237. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  238. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  239. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  240. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  241. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  242. package/dist/lib.esm/vue/solana/constants.js +3 -0
  243. package/dist/lib.esm/vue/solana/index.js +3 -0
  244. package/dist/lib.esm/vue/solana/provider.js +95 -0
  245. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  246. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  247. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  248. package/dist/lib.esm/x402/index.js +170 -0
  249. package/dist/lib.esm/x402/interfaces.js +3 -0
  250. package/dist/lib.esm/x402/react.js +59 -0
  251. package/dist/lib.esm/x402/vue.js +54 -0
  252. package/package.json +78 -53
  253. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  254. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  255. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  256. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  257. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  258. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  259. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  260. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  261. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  263. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  264. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  265. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  266. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  267. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  268. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  269. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  270. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  271. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  272. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  273. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  274. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  275. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  276. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  279. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  280. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  282. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  283. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  288. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  289. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  290. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  291. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  293. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  295. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  297. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  298. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  300. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  301. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  302. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  303. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  304. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  305. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  306. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  307. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  308. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  309. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  310. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  311. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  312. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  313. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  314. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  315. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  316. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  317. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  318. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  319. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  320. package/dist/noModal.umd.min.js +0 -2
  321. package/dist/noModal.umd.min.js.LICENSE.txt +0 -48
@@ -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,16 @@ 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
+ CONSENT_ACCEPTED: "consent_accepted"
20
22
  });
21
23
  const CONNECTOR_CATEGORY = {
22
24
  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) {
@@ -191,7 +214,8 @@ class WalletProviderError extends Web3AuthError {
191
214
 
192
215
  // Set name explicitly as minification can mangle class names
193
216
  Object.defineProperty(this, "name", {
194
- value: "WalletProviderError"
217
+ value: "WalletProviderError",
218
+ configurable: true
195
219
  });
196
220
  }
197
221
  static fromCode(code, extraMessage = "", cause) {
@@ -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 => {
16
+ return CITADEL_SERVER_MAP[buildEnv || BUILD_ENV.PRODUCTION];
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.15.0";
152
+ const sdkVersion = "11.0.0-beta.0";
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,4 @@ 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
+ export { citadelServerUrl, dashboardPublicApiUrl, fetchProjectConfig, fetchWalletRegistry, fromViemChain, fromWagmiChain, getAaAnalyticsProperties, getCaipChainId, getErrorAnalyticsProperties, getHostname, getWalletServicesAnalyticsProperties, getWhitelabelAnalyticsProperties, isBrowser, isHexStrict, normalizeWalletName, 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 };
@@ -0,0 +1,81 @@
1
+ import { getBase64EncodedWireTransaction, getBase58Decoder, getTransactionDecoder, getBase64Encoder } from '@solana/kit';
2
+ import { SolanaSignAndSendTransaction, SolanaSignMessage, SolanaSignTransaction } from '@solana/wallet-standard-features';
3
+
4
+ const getSolanaChainByChainConfig = chainConfig => {
5
+ switch (chainConfig.chainId) {
6
+ case "0x65":
7
+ return "solana:mainnet";
8
+ case "0x66":
9
+ return "solana:testnet";
10
+ case "0x67":
11
+ return "solana:devnet";
12
+ default:
13
+ return null;
14
+ }
15
+ };
16
+ const base58Decoder = getBase58Decoder();
17
+ const base64Encoder = getBase64Encoder();
18
+ const transactionDecoder = getTransactionDecoder();
19
+ const serializeTx = transaction => new Uint8Array(base64Encoder.encode(getBase64EncodedWireTransaction(transaction)));
20
+
21
+ /**
22
+ * Signs and sends a transaction via the wallet standard feature.
23
+ * Returns the transaction signature as a base58 string.
24
+ */
25
+ const walletSignAndSendTransaction = async (wallet, transaction) => {
26
+ var _wallet$accounts, _wallet$chains;
27
+ const feature = wallet.features[SolanaSignAndSendTransaction];
28
+ if (!feature) throw new Error("Wallet does not support signAndSendTransaction");
29
+ const account = (_wallet$accounts = wallet.accounts) === null || _wallet$accounts === void 0 ? void 0 : _wallet$accounts[0];
30
+ const chain = (_wallet$chains = wallet.chains) === null || _wallet$chains === void 0 ? void 0 : _wallet$chains[0];
31
+ if (!account) throw new Error("No account found");
32
+ const [output] = await feature.signAndSendTransaction({
33
+ account,
34
+ transaction: serializeTx(transaction),
35
+ chain
36
+ });
37
+ return base58Decoder.decode(new Uint8Array(output.signature));
38
+ };
39
+
40
+ /**
41
+ * Signs a transaction via the wallet standard feature.
42
+ * Returns the first signature as a base58 string.
43
+ */
44
+ const walletSignTransaction = async (wallet, transaction) => {
45
+ var _wallet$accounts2, _wallet$chains2;
46
+ const feature = wallet.features[SolanaSignTransaction];
47
+ if (!feature) throw new Error("Wallet does not support signTransaction");
48
+ const account = (_wallet$accounts2 = wallet.accounts) === null || _wallet$accounts2 === void 0 ? void 0 : _wallet$accounts2[0];
49
+ if (!account) throw new Error("No account found");
50
+ const chain = (_wallet$chains2 = wallet.chains) === null || _wallet$chains2 === void 0 ? void 0 : _wallet$chains2[0];
51
+ const [output] = await feature.signTransaction({
52
+ account,
53
+ transaction: serializeTx(transaction),
54
+ chain
55
+ });
56
+ // Extract the first signature from the signed transaction
57
+ const decodedTx = transactionDecoder.decode(output.signedTransaction);
58
+ const sig = decodedTx.signatures[account.address];
59
+ if (!sig) throw new Error("No signature in signed transaction");
60
+ return base58Decoder.decode(new Uint8Array(sig));
61
+ };
62
+
63
+ /**
64
+ * Signs a message via the wallet standard feature.
65
+ * Returns the signature as a base58 string.
66
+ */
67
+ const walletSignMessage = async (wallet, message, from) => {
68
+ var _ref, _wallet$accounts3, _wallet$accounts4;
69
+ const feature = wallet.features[SolanaSignMessage];
70
+ if (!feature) throw new Error("Wallet does not support signMessage");
71
+ const account = (_ref = from ? (_wallet$accounts3 = wallet.accounts) === null || _wallet$accounts3 === void 0 ? void 0 : _wallet$accounts3.find(a => a.address === from) : null) !== null && _ref !== void 0 ? _ref : (_wallet$accounts4 = wallet.accounts) === null || _wallet$accounts4 === void 0 ? void 0 : _wallet$accounts4[0];
72
+ if (!account) throw new Error("No account found");
73
+ const msgBytes = new TextEncoder().encode(message);
74
+ const [output] = await feature.signMessage({
75
+ account,
76
+ message: msgBytes
77
+ });
78
+ return base58Decoder.decode(new Uint8Array(output.signature));
79
+ };
80
+
81
+ export { getSolanaChainByChainConfig, walletSignAndSendTransaction, walletSignMessage, walletSignTransaction };