@web3auth/no-modal 10.0.0-beta.1 → 10.0.0-beta.10

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 (307) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +2 -1
  2. package/dist/lib.cjs/base/connector/constants.js +3 -1
  3. package/dist/lib.cjs/base/constants.js +7 -0
  4. package/dist/lib.cjs/base/cookie.js +38 -0
  5. package/dist/lib.cjs/base/deserialize.js +13 -0
  6. package/dist/lib.cjs/base/errors/index.js +3 -22
  7. package/dist/lib.cjs/base/utils.js +24 -6
  8. package/dist/lib.cjs/base/wallet/index.js +2 -4
  9. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +63 -20
  10. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +13 -5
  11. package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
  12. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +7 -3
  13. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +7 -4
  14. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +43 -15
  15. package/dist/lib.cjs/connectors/utils.js +10 -0
  16. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +6 -1
  17. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +6 -2
  18. package/dist/lib.cjs/index.js +13 -9
  19. package/dist/lib.cjs/noModal.js +190 -69
  20. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +2 -2
  21. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +1 -1
  22. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +5 -0
  23. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +29 -2
  24. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +25 -3
  25. package/dist/lib.cjs/providers/base-provider/baseProvider.js +2 -0
  26. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
  27. package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
  28. package/dist/lib.cjs/react/Web3AuthProvider.js +19 -0
  29. package/dist/lib.cjs/react/{wallet-services-plugin/WalletServicesContext.js → context/WalletServicesInnerContext.js} +18 -33
  30. package/dist/lib.cjs/react/{no-modal → context}/Web3AuthInnerContext.js +37 -95
  31. package/dist/lib.cjs/react/hooks/useCheckout.js +45 -0
  32. package/dist/lib.cjs/react/hooks/useEnableMFA.js +30 -0
  33. package/dist/lib.cjs/react/hooks/useIdentityToken.js +42 -0
  34. package/dist/lib.cjs/react/hooks/useManageMFA.js +30 -0
  35. package/dist/lib.cjs/react/hooks/useSwap.js +45 -0
  36. package/dist/lib.cjs/react/hooks/useSwitchChain.js +32 -0
  37. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +45 -0
  38. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +19 -0
  39. package/dist/lib.cjs/react/hooks/useWalletUI.js +45 -0
  40. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +28 -0
  41. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +48 -0
  42. package/dist/lib.cjs/react/hooks/useWeb3AuthDisconnect.js +30 -0
  43. package/dist/lib.cjs/react/{no-modal/hooks/useWeb3Auth.js → hooks/useWeb3AuthInner.js} +9 -9
  44. package/dist/lib.cjs/react/hooks/useWeb3AuthUser.js +50 -0
  45. package/dist/lib.cjs/react/index.js +26 -9
  46. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
  47. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
  48. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
  49. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +62 -0
  50. package/dist/lib.cjs/react/solana/index.js +13 -0
  51. package/dist/lib.cjs/react/wagmi/constants.js +16 -0
  52. package/dist/lib.cjs/react/wagmi/index.js +7 -0
  53. package/dist/lib.cjs/react/wagmi/provider.js +189 -0
  54. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +4 -5
  55. package/dist/lib.cjs/types/base/connector/constants.d.ts +2 -0
  56. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +18 -16
  57. package/dist/lib.cjs/types/base/constants.d.ts +5 -0
  58. package/dist/lib.cjs/types/base/cookie.d.ts +10 -0
  59. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +40 -12
  60. package/dist/lib.cjs/types/base/deserialize.d.ts +3 -0
  61. package/dist/lib.cjs/types/base/errors/index.d.ts +1 -2
  62. package/dist/lib.cjs/types/base/hooks/index.d.ts +3 -23
  63. package/dist/lib.cjs/types/base/index.d.ts +1 -0
  64. package/dist/lib.cjs/types/base/interfaces.d.ts +9 -4
  65. package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
  66. package/dist/lib.cjs/types/base/utils.d.ts +3 -1
  67. package/dist/lib.cjs/types/base/wallet/index.d.ts +18 -17
  68. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +5 -6
  69. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +3 -2
  70. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
  71. package/dist/lib.cjs/types/connectors/index.d.ts +1 -1
  72. package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -1
  73. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
  74. package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
  75. package/dist/lib.cjs/types/noModal.d.ts +20 -9
  76. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +2 -2
  77. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +2 -2
  78. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +3 -2
  79. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -1
  80. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -1
  81. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
  82. package/dist/lib.cjs/types/providers/index.d.ts +0 -2
  83. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
  84. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
  85. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
  86. package/dist/lib.cjs/types/react/{no-modal → context}/Web3AuthInnerContext.d.ts +1 -1
  87. package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -0
  88. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
  89. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
  90. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
  91. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
  92. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
  93. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
  94. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
  95. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
  96. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +3 -0
  97. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +9 -0
  98. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
  99. package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
  100. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
  101. package/dist/lib.cjs/types/react/index.d.ts +3 -2
  102. package/dist/lib.cjs/types/react/interfaces.d.ts +21 -0
  103. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  104. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
  105. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  106. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
  107. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
  108. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  109. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  110. package/dist/lib.cjs/types/react/wagmi/index.d.ts +1 -0
  111. package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
  112. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
  113. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  114. package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
  115. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  116. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  117. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  118. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  119. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  120. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  121. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  122. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  123. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  124. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
  125. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
  126. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  127. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  128. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  129. package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
  130. package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
  131. package/dist/lib.cjs/types/vue/index.d.ts +4 -2
  132. package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
  133. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
  134. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -0
  135. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
  136. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +10 -0
  137. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
  138. package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
  139. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  140. package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
  141. package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
  142. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
  143. package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
  144. package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +45 -86
  145. package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
  146. package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
  147. package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
  148. package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
  149. package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
  150. package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
  151. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
  152. package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
  153. package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
  154. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +61 -0
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
  157. package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  158. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
  159. package/dist/lib.cjs/vue/index.js +28 -8
  160. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
  161. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
  163. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +64 -0
  164. package/dist/lib.cjs/vue/solana/index.js +13 -0
  165. package/dist/lib.cjs/vue/wagmi/constants.js +16 -0
  166. package/dist/lib.cjs/vue/wagmi/index.js +7 -0
  167. package/dist/lib.cjs/vue/wagmi/provider.js +244 -0
  168. package/dist/lib.esm/base/connector/baseConnector.js +6 -1
  169. package/dist/lib.esm/base/connector/constants.js +3 -1
  170. package/dist/lib.esm/base/constants.js +6 -1
  171. package/dist/lib.esm/base/cookie.js +34 -0
  172. package/dist/lib.esm/base/deserialize.js +11 -0
  173. package/dist/lib.esm/base/errors/index.js +14 -22
  174. package/dist/lib.esm/base/plugin/errors.js +2 -0
  175. package/dist/lib.esm/base/utils.js +28 -12
  176. package/dist/lib.esm/base/wallet/index.js +2 -4
  177. package/dist/lib.esm/connectors/auth-connector/authConnector.js +83 -30
  178. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -8
  179. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
  180. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -15
  181. package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
  182. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +11 -12
  183. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +13 -17
  184. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +52 -27
  185. package/dist/lib.esm/connectors/utils.js +14 -1
  186. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
  187. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +20 -25
  188. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +15 -15
  189. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
  190. package/dist/lib.esm/index.js +12 -14
  191. package/dist/lib.esm/noModal.js +217 -80
  192. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
  193. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +4 -10
  194. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +7 -9
  195. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -2
  196. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +37 -20
  197. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
  198. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +26 -3
  199. package/dist/lib.esm/providers/base-provider/baseProvider.js +7 -9
  200. package/dist/lib.esm/providers/base-provider/utils.js +3 -3
  201. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
  202. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +4 -17
  203. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
  204. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
  205. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
  206. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
  207. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  208. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
  210. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
  211. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
  212. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
  213. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
  214. package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
  215. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
  216. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
  217. package/dist/lib.esm/react/Web3AuthProvider.js +17 -0
  218. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +70 -0
  219. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +129 -0
  220. package/dist/lib.esm/react/hooks/useCheckout.js +32 -0
  221. package/dist/lib.esm/react/hooks/useEnableMFA.js +28 -0
  222. package/dist/lib.esm/react/hooks/useIdentityToken.js +40 -0
  223. package/dist/lib.esm/react/hooks/useManageMFA.js +28 -0
  224. package/dist/lib.esm/react/hooks/useSwap.js +32 -0
  225. package/dist/lib.esm/react/hooks/useSwitchChain.js +30 -0
  226. package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +32 -0
  227. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +17 -0
  228. package/dist/lib.esm/react/hooks/useWalletUI.js +32 -0
  229. package/dist/lib.esm/react/hooks/useWeb3Auth.js +26 -0
  230. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +46 -0
  231. package/dist/lib.esm/react/hooks/useWeb3AuthDisconnect.js +28 -0
  232. package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +13 -0
  233. package/dist/lib.esm/react/hooks/useWeb3AuthUser.js +48 -0
  234. package/dist/lib.esm/react/index.js +14 -5
  235. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
  236. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
  237. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
  238. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +42 -0
  239. package/dist/lib.esm/react/solana/index.js +4 -0
  240. package/dist/lib.esm/react/wagmi/constants.js +14 -0
  241. package/dist/lib.esm/react/wagmi/index.js +1 -0
  242. package/dist/lib.esm/react/wagmi/provider.js +179 -0
  243. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +71 -0
  244. package/dist/lib.esm/vue/Web3AuthProvider.js +154 -0
  245. package/dist/lib.esm/vue/composables/useCheckout.js +32 -0
  246. package/dist/lib.esm/vue/composables/useEnableMFA.js +30 -0
  247. package/dist/lib.esm/vue/composables/useIdentityToken.js +42 -0
  248. package/dist/lib.esm/vue/composables/useManageMFA.js +30 -0
  249. package/dist/lib.esm/vue/composables/useSwap.js +32 -0
  250. package/dist/lib.esm/vue/composables/useSwitchChain.js +30 -0
  251. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +32 -0
  252. package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
  253. package/dist/lib.esm/vue/composables/useWalletUI.js +32 -0
  254. package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
  255. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +48 -0
  256. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +30 -0
  257. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +11 -0
  258. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +51 -0
  259. package/dist/lib.esm/vue/index.js +15 -5
  260. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
  261. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
  262. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
  263. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +51 -0
  264. package/dist/lib.esm/vue/solana/index.js +4 -0
  265. package/dist/lib.esm/vue/wagmi/constants.js +14 -0
  266. package/dist/lib.esm/vue/wagmi/index.js +1 -0
  267. package/dist/lib.esm/vue/wagmi/provider.js +237 -0
  268. package/dist/noModal.umd.min.js +1 -1
  269. package/dist/noModal.umd.min.js.LICENSE.txt +0 -26
  270. package/package.json +79 -20
  271. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +0 -15
  272. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +0 -16
  273. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -26
  274. package/dist/lib.cjs/types/react/no-modal/hooks/index.d.ts +0 -1
  275. package/dist/lib.cjs/types/react/no-modal/hooks/useWeb3Auth.d.ts +0 -2
  276. package/dist/lib.cjs/types/react/no-modal/index.d.ts +0 -3
  277. package/dist/lib.cjs/types/react/no-modal/interfaces.d.ts +0 -15
  278. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -7
  279. package/dist/lib.cjs/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -7
  280. package/dist/lib.cjs/types/react/wallet-services-plugin/hooks/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/react/wallet-services-plugin/index.d.ts +0 -4
  282. package/dist/lib.cjs/types/react/wallet-services-plugin/interfaces.d.ts +0 -5
  283. package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
  284. package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
  285. package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
  286. package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
  287. package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
  288. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
  289. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
  290. package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
  291. package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
  292. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
  293. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +0 -197
  294. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +0 -13
  295. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +0 -24
  296. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +0 -95
  297. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +0 -14
  298. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +0 -24
  299. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +0 -203
  300. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +0 -22
  301. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
  302. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
  303. /package/dist/lib.cjs/types/react/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  304. /package/dist/lib.cjs/types/react/{wallet-services-plugin/hooks → hooks}/useWalletServicesPlugin.d.ts +0 -0
  305. /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  306. /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
  307. /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ require('@toruslabs/base-controllers');
5
+ require('@babel/runtime/helpers/defineProperty');
6
+ require('@web3auth/auth');
7
+ require('../../base/errors/index.js');
8
+ require('../../base/wallet/index.js');
9
+ require('../../base/connector/constants.js');
10
+ require('jwt-decode');
11
+ require('../../base/loglevel.js');
12
+ var errors = require('../../base/plugin/errors.js');
13
+ require('../../base/plugin/IPlugin.js');
14
+ require('@toruslabs/constants');
15
+ require('@toruslabs/http-helpers');
16
+ var useWalletServicesPlugin = require('./useWalletServicesPlugin.js');
17
+
18
+ const useWalletUI = () => {
19
+ const {
20
+ plugin,
21
+ ready
22
+ } = useWalletServicesPlugin.useWalletServicesPlugin();
23
+ const [loading, setLoading] = react.useState(false);
24
+ const [error, setError] = react.useState(null);
25
+ const showWalletUI = react.useCallback(async showWalletUiParams => {
26
+ setLoading(true);
27
+ setError(null);
28
+ try {
29
+ if (!plugin) throw errors.WalletServicesPluginError.notInitialized();
30
+ if (!ready) throw errors.WalletServicesPluginError.walletPluginNotConnected();
31
+ await plugin.showWalletUi(showWalletUiParams);
32
+ } catch (error) {
33
+ setError(error);
34
+ } finally {
35
+ setLoading(false);
36
+ }
37
+ }, [plugin, ready]);
38
+ return {
39
+ loading,
40
+ error,
41
+ showWalletUI
42
+ };
43
+ };
44
+
45
+ exports.useWalletUI = useWalletUI;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var useWeb3AuthInner = require('./useWeb3AuthInner.js');
4
+
5
+ const useWeb3Auth = () => {
6
+ const {
7
+ initError,
8
+ isConnected,
9
+ isInitialized,
10
+ isInitializing,
11
+ provider,
12
+ status,
13
+ web3Auth,
14
+ getPlugin
15
+ } = useWeb3AuthInner.useWeb3AuthInner();
16
+ return {
17
+ initError,
18
+ isConnected,
19
+ isInitialized,
20
+ isInitializing,
21
+ provider,
22
+ status,
23
+ web3Auth,
24
+ getPlugin
25
+ };
26
+ };
27
+
28
+ exports.useWeb3Auth = useWeb3Auth;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useWeb3AuthInner = require('./useWeb3AuthInner.js');
5
+
6
+ const useWeb3AuthConnect = () => {
7
+ const context = useWeb3AuthInner.useWeb3AuthInner();
8
+ const {
9
+ web3Auth,
10
+ isConnected
11
+ } = context;
12
+ const [loading, setLoading] = react.useState(false);
13
+ const [error, setError] = react.useState(null);
14
+ const [connectorName, setConnectorName] = react.useState(null);
15
+ react.useEffect(() => {
16
+ if (!web3Auth) return;
17
+ if (!isConnected && connectorName) {
18
+ setConnectorName(null);
19
+ }
20
+ if (isConnected && !connectorName) {
21
+ setConnectorName(web3Auth.connectedConnectorName);
22
+ }
23
+ }, [isConnected, connectorName, web3Auth]);
24
+ const connect = react.useCallback(async (connector, params) => {
25
+ setLoading(true);
26
+ setError(null);
27
+ try {
28
+ const provider = await web3Auth.connectTo(connector, params);
29
+ if (provider) {
30
+ setConnectorName(web3Auth.connectedConnectorName);
31
+ }
32
+ return provider;
33
+ } catch (error) {
34
+ setError(error);
35
+ } finally {
36
+ setLoading(false);
37
+ }
38
+ }, [web3Auth]);
39
+ return {
40
+ isConnected,
41
+ loading,
42
+ error,
43
+ connectorName,
44
+ connect
45
+ };
46
+ };
47
+
48
+ exports.useWeb3AuthConnect = useWeb3AuthConnect;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useWeb3AuthInner = require('./useWeb3AuthInner.js');
5
+
6
+ const useWeb3AuthDisconnect = () => {
7
+ const {
8
+ web3Auth
9
+ } = useWeb3AuthInner.useWeb3AuthInner();
10
+ const [loading, setLoading] = react.useState(false);
11
+ const [error, setError] = react.useState(null);
12
+ const disconnect = react.useCallback(async options => {
13
+ setLoading(true);
14
+ setError(null);
15
+ try {
16
+ await web3Auth.logout(options);
17
+ } catch (error) {
18
+ setError(error);
19
+ } finally {
20
+ setLoading(false);
21
+ }
22
+ }, [web3Auth]);
23
+ return {
24
+ loading,
25
+ error,
26
+ disconnect
27
+ };
28
+ };
29
+
30
+ exports.useWeb3AuthDisconnect = useWeb3AuthDisconnect;
@@ -4,18 +4,18 @@ var react = require('react');
4
4
  require('@toruslabs/base-controllers');
5
5
  require('@babel/runtime/helpers/defineProperty');
6
6
  require('@web3auth/auth');
7
- var index = require('../../../base/errors/index.js');
8
- require('../../../base/wallet/index.js');
9
- require('../../../base/connector/constants.js');
7
+ var index = require('../../base/errors/index.js');
8
+ require('../../base/wallet/index.js');
9
+ require('../../base/connector/constants.js');
10
10
  require('jwt-decode');
11
- require('../../../base/loglevel.js');
12
- require('../../../base/plugin/errors.js');
13
- require('../../../base/plugin/IPlugin.js');
11
+ require('../../base/loglevel.js');
12
+ require('../../base/plugin/errors.js');
13
+ require('../../base/plugin/IPlugin.js');
14
14
  require('@toruslabs/constants');
15
15
  require('@toruslabs/http-helpers');
16
- var Web3AuthInnerContext = require('../Web3AuthInnerContext.js');
16
+ var Web3AuthInnerContext = require('../context/Web3AuthInnerContext.js');
17
17
 
18
- const useWeb3Auth = () => {
18
+ const useWeb3AuthInner = () => {
19
19
  const context = react.useContext(Web3AuthInnerContext.Web3AuthInnerContext);
20
20
  if (!context) {
21
21
  throw index.WalletInitializationError.fromCode(1000, "usage of useWeb3Auth not wrapped in `Web3AuthContextProvider`.");
@@ -23,4 +23,4 @@ const useWeb3Auth = () => {
23
23
  return context;
24
24
  };
25
25
 
26
- exports.useWeb3Auth = useWeb3Auth;
26
+ exports.useWeb3AuthInner = useWeb3AuthInner;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useWeb3AuthInner = require('./useWeb3AuthInner.js');
5
+
6
+ const useWeb3AuthUser = () => {
7
+ const {
8
+ web3Auth,
9
+ isConnected,
10
+ isMFAEnabled,
11
+ setIsMFAEnabled
12
+ } = useWeb3AuthInner.useWeb3AuthInner();
13
+ const [userInfo, setUserInfo] = react.useState(null);
14
+ const [loading, setLoading] = react.useState(false);
15
+ const [error, setError] = react.useState(null);
16
+ const getUserInfo = react.useCallback(async () => {
17
+ setLoading(true);
18
+ setError(null);
19
+ try {
20
+ const userInfo = await web3Auth.getUserInfo();
21
+ setUserInfo(userInfo);
22
+ return userInfo;
23
+ } catch (error) {
24
+ setError(error);
25
+ } finally {
26
+ setLoading(false);
27
+ }
28
+ }, [web3Auth]);
29
+ react.useEffect(() => {
30
+ const saveUserInfo = async () => {
31
+ const userInfo = await getUserInfo();
32
+ setUserInfo(userInfo);
33
+ setIsMFAEnabled((userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled) || false);
34
+ };
35
+ if (isConnected && !userInfo) saveUserInfo();
36
+ if (!isConnected && userInfo) {
37
+ setUserInfo(null);
38
+ setIsMFAEnabled(false);
39
+ }
40
+ }, [isConnected, userInfo, getUserInfo, setIsMFAEnabled]);
41
+ return {
42
+ loading,
43
+ error,
44
+ userInfo,
45
+ isMFAEnabled,
46
+ getUserInfo
47
+ };
48
+ };
49
+
50
+ exports.useWeb3AuthUser = useWeb3AuthUser;
@@ -1,16 +1,33 @@
1
1
  'use strict';
2
2
 
3
- var useWeb3Auth = require('./no-modal/hooks/useWeb3Auth.js');
4
- var Web3AuthProvider = require('./no-modal/Web3AuthProvider.js');
5
- var useWalletServicesPlugin = require('./wallet-services-plugin/hooks/useWalletServicesPlugin.js');
6
- var WalletServicesContext = require('./wallet-services-plugin/WalletServicesContext.js');
7
- var WalletServicesProvider = require('./wallet-services-plugin/WalletServicesProvider.js');
3
+ var useCheckout = require('./hooks/useCheckout.js');
4
+ var useEnableMFA = require('./hooks/useEnableMFA.js');
5
+ var useIdentityToken = require('./hooks/useIdentityToken.js');
6
+ var useManageMFA = require('./hooks/useManageMFA.js');
7
+ var useSwap = require('./hooks/useSwap.js');
8
+ var useSwitchChain = require('./hooks/useSwitchChain.js');
9
+ var useWalletConnectScanner = require('./hooks/useWalletConnectScanner.js');
10
+ var useWalletServicesPlugin = require('./hooks/useWalletServicesPlugin.js');
11
+ var useWalletUI = require('./hooks/useWalletUI.js');
12
+ var useWeb3Auth = require('./hooks/useWeb3Auth.js');
13
+ var useWeb3AuthConnect = require('./hooks/useWeb3AuthConnect.js');
14
+ var useWeb3AuthDisconnect = require('./hooks/useWeb3AuthDisconnect.js');
15
+ var useWeb3AuthUser = require('./hooks/useWeb3AuthUser.js');
16
+ var Web3AuthProvider = require('./Web3AuthProvider.js');
8
17
 
9
18
 
10
19
 
20
+ exports.useCheckout = useCheckout.useCheckout;
21
+ exports.useEnableMFA = useEnableMFA.useEnableMFA;
22
+ exports.useIdentityToken = useIdentityToken.useIdentityToken;
23
+ exports.useManageMFA = useManageMFA.useManageMFA;
24
+ exports.useSwap = useSwap.useSwap;
25
+ exports.useSwitchChain = useSwitchChain.useSwitchChain;
26
+ exports.useWalletConnectScanner = useWalletConnectScanner.useWalletConnectScanner;
27
+ exports.useWalletServicesPlugin = useWalletServicesPlugin.useWalletServicesPlugin;
28
+ exports.useWalletUI = useWalletUI.useWalletUI;
11
29
  exports.useWeb3Auth = useWeb3Auth.useWeb3Auth;
30
+ exports.useWeb3AuthConnect = useWeb3AuthConnect.useWeb3AuthConnect;
31
+ exports.useWeb3AuthDisconnect = useWeb3AuthDisconnect.useWeb3AuthDisconnect;
32
+ exports.useWeb3AuthUser = useWeb3AuthUser.useWeb3AuthUser;
12
33
  exports.Web3AuthProvider = Web3AuthProvider.Web3AuthProvider;
13
- exports.useWalletServicesPlugin = useWalletServicesPlugin.useWalletServicesPlugin;
14
- exports.WalletServicesContext = WalletServicesContext.WalletServicesContext;
15
- exports.WalletServicesContextProvider = WalletServicesContext.WalletServicesContextProvider;
16
- exports.WalletServicesProvider = WalletServicesProvider.WalletServicesProvider;
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignAndSendTransaction = () => {
7
+ const {
8
+ solanaWallet
9
+ } = useSolanaWallet.useSolanaWallet();
10
+ const [loading, setLoading] = react.useState(false);
11
+ const [error, setError] = react.useState(null);
12
+ const [data, setData] = react.useState(null);
13
+ const signAndSendTransaction = react.useCallback(async transaction => {
14
+ setLoading(true);
15
+ setError(null);
16
+ try {
17
+ if (!solanaWallet) throw new Error("Solana wallet not found");
18
+ const signature = await solanaWallet.signAndSendTransaction(transaction);
19
+ setData(signature);
20
+ return signature;
21
+ } catch (error) {
22
+ setError(error);
23
+ } finally {
24
+ setLoading(false);
25
+ }
26
+ }, [solanaWallet]);
27
+ return {
28
+ loading,
29
+ error,
30
+ data,
31
+ signAndSendTransaction
32
+ };
33
+ };
34
+
35
+ exports.useSignAndSendTransaction = useSignAndSendTransaction;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignMessage = () => {
7
+ const {
8
+ solanaWallet,
9
+ accounts
10
+ } = useSolanaWallet.useSolanaWallet();
11
+ const [loading, setLoading] = react.useState(false);
12
+ const [error, setError] = react.useState(null);
13
+ const [data, setData] = react.useState(null);
14
+ const signMessage = react.useCallback(async (message, from) => {
15
+ setLoading(true);
16
+ setError(null);
17
+ try {
18
+ if (!solanaWallet) throw new Error("Solana wallet not found");
19
+ const signature = await solanaWallet.signMessage(message, from !== null && from !== void 0 ? from : accounts === null || accounts === void 0 ? void 0 : accounts[0]);
20
+ setData(signature);
21
+ return signature;
22
+ } catch (error) {
23
+ setError(error);
24
+ } finally {
25
+ setLoading(false);
26
+ }
27
+ }, [solanaWallet, accounts]);
28
+ return {
29
+ loading,
30
+ error,
31
+ data,
32
+ signMessage
33
+ };
34
+ };
35
+
36
+ exports.useSignMessage = useSignMessage;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignTransaction = () => {
7
+ const {
8
+ solanaWallet
9
+ } = useSolanaWallet.useSolanaWallet();
10
+ const [loading, setLoading] = react.useState(false);
11
+ const [error, setError] = react.useState(null);
12
+ const [data, setData] = react.useState(null);
13
+ const signTransaction = react.useCallback(async transaction => {
14
+ setLoading(true);
15
+ setError(null);
16
+ try {
17
+ const signedTransaction = await solanaWallet.signTransaction(transaction);
18
+ setData(signedTransaction);
19
+ return signedTransaction;
20
+ } catch (error) {
21
+ setError(error);
22
+ } finally {
23
+ setLoading(false);
24
+ }
25
+ }, [solanaWallet]);
26
+ return {
27
+ loading,
28
+ error,
29
+ data,
30
+ signTransaction
31
+ };
32
+ };
33
+
34
+ exports.useSignTransaction = useSignTransaction;
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var web3_js = require('@solana/web3.js');
4
+ var react = require('react');
5
+ var baseControllers = require('@toruslabs/base-controllers');
6
+ require('@solana/wallet-standard-features');
7
+ require('@toruslabs/bs58');
8
+ require('@babel/runtime/helpers/defineProperty');
9
+ require('@web3auth/auth');
10
+ require('../../../base/errors/index.js');
11
+ require('../../../base/wallet/index.js');
12
+ require('../../../base/connector/constants.js');
13
+ require('jwt-decode');
14
+ require('../../../base/loglevel.js');
15
+ require('../../../base/plugin/errors.js');
16
+ require('../../../base/plugin/IPlugin.js');
17
+ require('@toruslabs/constants');
18
+ require('@toruslabs/http-helpers');
19
+ require('@babel/runtime/helpers/objectSpread2');
20
+ require('../../../providers/base-provider/utils.js');
21
+ require('../../../providers/base-provider/CommonJRPCProvider.js');
22
+ require('../../../providers/base-provider/commonPrivateKeyProvider.js');
23
+ require('@web3auth/ws-embed');
24
+ var solanaWallet = require('../../../providers/solana-provider/solanaWallet.js');
25
+ var useWeb3Auth = require('../../hooks/useWeb3Auth.js');
26
+
27
+ const useSolanaWallet = () => {
28
+ const {
29
+ provider,
30
+ web3Auth
31
+ } = useWeb3Auth.useWeb3Auth();
32
+ const [accounts, setAccounts] = react.useState(null);
33
+ const solanaWallet$1 = react.useMemo(() => {
34
+ if (!provider) return null;
35
+ return new solanaWallet.SolanaWallet(provider);
36
+ }, [provider]);
37
+ const connection = react.useMemo(() => {
38
+ if (!web3Auth || !provider) return null;
39
+ return new web3_js.Connection(web3Auth.currentChain.rpcTarget);
40
+ }, [web3Auth, provider]);
41
+ react.useEffect(() => {
42
+ const init = async () => {
43
+ var _web3Auth$currentChai;
44
+ if (!solanaWallet$1) return;
45
+ if (!(web3Auth !== null && web3Auth !== void 0 && (_web3Auth$currentChai = web3Auth.currentChain) !== null && _web3Auth$currentChai !== void 0 && _web3Auth$currentChai.chainNamespace) || web3Auth.currentChain.chainNamespace !== baseControllers.CHAIN_NAMESPACES.SOLANA) {
46
+ return;
47
+ }
48
+ const accounts = await solanaWallet$1.requestAccounts();
49
+ if ((accounts === null || accounts === void 0 ? void 0 : accounts.length) > 0) {
50
+ setAccounts(accounts);
51
+ }
52
+ };
53
+ if (solanaWallet$1) init();
54
+ }, [solanaWallet$1]);
55
+ return {
56
+ solanaWallet: solanaWallet$1,
57
+ accounts,
58
+ connection
59
+ };
60
+ };
61
+
62
+ exports.useSolanaWallet = useSolanaWallet;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var useSignAndSendTransaction = require('./hooks/useSignAndSendTransaction.js');
4
+ var useSignMessage = require('./hooks/useSignMessage.js');
5
+ var useSignTransaction = require('./hooks/useSignTransaction.js');
6
+ var useSolanaWallet = require('./hooks/useSolanaWallet.js');
7
+
8
+
9
+
10
+ exports.useSignAndSendTransaction = useSignAndSendTransaction.useSignAndSendTransaction;
11
+ exports.useSignMessage = useSignMessage.useSignMessage;
12
+ exports.useSignTransaction = useSignTransaction.useSignTransaction;
13
+ exports.useSolanaWallet = useSolanaWallet.useSolanaWallet;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var wagmi = require('wagmi');
4
+ var chains = require('wagmi/chains');
5
+
6
+ const defaultWagmiConfig = wagmi.createConfig({
7
+ chains: [chains.mainnet],
8
+ connectors: [],
9
+ // or your basic wallets
10
+ ssr: true,
11
+ transports: {
12
+ [chains.mainnet.id]: wagmi.http(chains.mainnet.rpcUrls.default.http[0])
13
+ }
14
+ });
15
+
16
+ exports.defaultWagmiConfig = defaultWagmiConfig;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var provider = require('./provider.js');
4
+
5
+
6
+
7
+ exports.WagmiProvider = provider.WagmiProvider;
@@ -0,0 +1,189 @@
1
+ 'use strict';
2
+
3
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
5
+ var react = require('react');
6
+ var viem = require('viem');
7
+ var wagmi = require('wagmi');
8
+ var connectors = require('wagmi/connectors');
9
+ var baseControllers = require('@toruslabs/base-controllers');
10
+ require('@babel/runtime/helpers/defineProperty');
11
+ require('@web3auth/auth');
12
+ var index = require('../../base/errors/index.js');
13
+ require('../../base/wallet/index.js');
14
+ require('../../base/connector/constants.js');
15
+ require('jwt-decode');
16
+ var loglevel = require('../../base/loglevel.js');
17
+ require('../../base/plugin/errors.js');
18
+ require('../../base/plugin/IPlugin.js');
19
+ require('@toruslabs/constants');
20
+ require('@toruslabs/http-helpers');
21
+ require('../context/WalletServicesInnerContext.js');
22
+ require('../context/Web3AuthInnerContext.js');
23
+ var useWeb3Auth = require('../hooks/useWeb3Auth.js');
24
+ var useWeb3AuthDisconnect = require('../hooks/useWeb3AuthDisconnect.js');
25
+ var constants = require('./constants.js');
26
+
27
+ const _excluded = ["children"];
28
+ const WEB3AUTH_CONNECTOR_ID = "web3auth";
29
+ // Helper to initialize connectors for the given wallets
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ async function setupConnector(provider, config) {
32
+ let connector = config.connectors.find(c => c.id === WEB3AUTH_CONNECTOR_ID);
33
+ if (connector) return connector;
34
+ // Create new connector if not already existing
35
+ connector = connectors.injected({
36
+ target: {
37
+ provider: provider,
38
+ id: WEB3AUTH_CONNECTOR_ID,
39
+ name: "Web3Auth"
40
+ }
41
+ });
42
+ const result = config._internal.connectors.setup(connector);
43
+ config._internal.connectors.setState(current => [...current, result]);
44
+ return result;
45
+ }
46
+ // Helper to connect a wallet and update wagmi state
47
+ async function connectWeb3AuthWithWagmi(connector, config) {
48
+ var _config$storage, _config$storage2;
49
+ await Promise.all([(_config$storage = config.storage) === null || _config$storage === void 0 ? void 0 : _config$storage.removeItem(`${connector.id}.disconnected`), (_config$storage2 = config.storage) === null || _config$storage2 === void 0 ? void 0 : _config$storage2.setItem("recentConnectorId", connector.id)]);
50
+ let chainId = await connector.getChainId();
51
+ if (!config.chains.find(c => c.id === chainId)) {
52
+ chainId = config.chains[0].id;
53
+ }
54
+ const accounts = await connector.getAccounts();
55
+ const connections = new Map([[connector.uid, {
56
+ accounts: [accounts[0]],
57
+ chainId,
58
+ connector
59
+ }]]);
60
+ config.setState(state => _objectSpread(_objectSpread({}, state), {}, {
61
+ chainId,
62
+ connections,
63
+ current: connector.uid,
64
+ status: "connected"
65
+ }));
66
+ }
67
+ async function disconnectWeb3AuthFromWagmi(config) {
68
+ config._internal.connectors.setState(prev => prev.filter(c => c.id !== WEB3AUTH_CONNECTOR_ID));
69
+ config.setState(state => _objectSpread(_objectSpread({}, state), {}, {
70
+ chainId: state.chainId,
71
+ connections: new Map(),
72
+ current: undefined,
73
+ status: "disconnected"
74
+ }));
75
+ }
76
+ function Web3AuthWagmiProvider({
77
+ children
78
+ }) {
79
+ const {
80
+ isConnected,
81
+ provider
82
+ } = useWeb3Auth.useWeb3Auth();
83
+ const {
84
+ disconnect
85
+ } = useWeb3AuthDisconnect.useWeb3AuthDisconnect();
86
+ const wagmiConfig = wagmi.useConfig();
87
+ const {
88
+ reconnect
89
+ } = wagmi.useReconnect();
90
+ wagmi.useAccountEffect({
91
+ onDisconnect: async () => {
92
+ loglevel.log.info("Disconnected from wagmi");
93
+ if (isConnected) await disconnect();
94
+ }
95
+ });
96
+ react.useEffect(() => {
97
+ (async () => {
98
+ if (isConnected && provider) {
99
+ const connector = await setupConnector(provider, wagmiConfig);
100
+ if (!connector) {
101
+ throw new Error("Failed to setup connector");
102
+ }
103
+ await connectWeb3AuthWithWagmi(connector, wagmiConfig);
104
+ reconnect();
105
+ } else if (!isConnected) {
106
+ if (wagmiConfig.state.status === "connected") {
107
+ await disconnectWeb3AuthFromWagmi(wagmiConfig);
108
+ }
109
+ }
110
+ })();
111
+ }, [isConnected, wagmiConfig, provider, reconnect]);
112
+ return react.createElement(react.Fragment, null, children);
113
+ }
114
+ function WagmiProvider(_ref) {
115
+ let {
116
+ children
117
+ } = _ref,
118
+ props = _objectWithoutProperties(_ref, _excluded);
119
+ const {
120
+ config
121
+ } = props;
122
+ const {
123
+ web3Auth,
124
+ isInitialized
125
+ } = useWeb3Auth.useWeb3Auth();
126
+ const finalConfig = react.useMemo(() => {
127
+ var _web3Auth$coreOptions;
128
+ if (!isInitialized) return constants.defaultWagmiConfig;
129
+ const finalConfig = _objectSpread(_objectSpread({
130
+ ssr: true
131
+ }, config), {}, {
132
+ chains: undefined,
133
+ connectors: [],
134
+ transports: {},
135
+ multiInjectedProviderDiscovery: false,
136
+ client: undefined
137
+ });
138
+ const wagmiChains = [];
139
+ if (isInitialized && web3Auth !== null && web3Auth !== void 0 && (_web3Auth$coreOptions = web3Auth.coreOptions) !== null && _web3Auth$coreOptions !== void 0 && _web3Auth$coreOptions.chains) {
140
+ var _web3Auth$currentChai;
141
+ const defaultChainId = (_web3Auth$currentChai = web3Auth.currentChain) === null || _web3Auth$currentChai === void 0 ? void 0 : _web3Auth$currentChai.chainId;
142
+ const chains = web3Auth.coreOptions.chains.filter(chain => chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155);
143
+ if (chains.length === 0) throw index.WalletInitializationError.invalidParams("No valid chains found in web3auth config for wagmi.");
144
+ chains.forEach(chain => {
145
+ const wagmiChain = viem.defineChain({
146
+ id: Number.parseInt(chain.chainId, 16),
147
+ // id in number form
148
+ name: chain.displayName,
149
+ rpcUrls: {
150
+ default: {
151
+ http: [chain.rpcTarget],
152
+ webSocket: [chain.wsTarget]
153
+ }
154
+ },
155
+ blockExplorers: chain.blockExplorerUrl ? {
156
+ default: {
157
+ name: "explorer",
158
+ // TODO: correct name if chain config has it
159
+ url: chain.blockExplorerUrl
160
+ }
161
+ } : undefined,
162
+ nativeCurrency: {
163
+ name: chain.tickerName,
164
+ symbol: chain.ticker,
165
+ decimals: chain.decimals || 18
166
+ }
167
+ });
168
+ if (defaultChainId === chain.chainId) {
169
+ wagmiChains.unshift(wagmiChain);
170
+ } else {
171
+ wagmiChains.push(wagmiChain);
172
+ }
173
+ finalConfig.transports[wagmiChain.id] = chain.wsTarget ? viem.webSocket(chain.wsTarget) : viem.http(chain.rpcTarget);
174
+ });
175
+ finalConfig.chains = [wagmiChains[0], ...wagmiChains.slice(1)];
176
+ }
177
+ if (!finalConfig.chains) return;
178
+ return wagmi.createConfig(finalConfig);
179
+ }, [config, web3Auth, isInitialized]);
180
+ return react.createElement(wagmi.WagmiProvider, // typecast to WagmiProviderPropsBase to avoid type error
181
+ // as we are omitting the config prop from WagmiProviderProps
182
+ // and creating a new config object with the finalConfig
183
+ _objectSpread(_objectSpread({}, props), {}, {
184
+ config: finalConfig,
185
+ reconnectOnMount: false
186
+ }), react.createElement(Web3AuthWagmiProvider, null, children));
187
+ }
188
+
189
+ exports.WagmiProvider = WagmiProvider;