@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
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ require('@babel/runtime/helpers/objectSpread2');
5
+ require('@babel/runtime/helpers/defineProperty');
6
+ require('@segment/analytics-next');
7
+ require('../base/loglevel.js');
8
+ require('@toruslabs/base-controllers');
9
+ require('@toruslabs/session-manager');
10
+ require('@web3auth/auth');
11
+ require('../base/errors/index.js');
12
+ require('@toruslabs/constants');
13
+ require('@toruslabs/http-helpers');
14
+ require('../base/constants.js');
15
+ require('../base/wallet/index.js');
16
+ var connectorStatus = require('../base/connector/connectorStatus.js');
17
+ require('../base/connector/constants.js');
18
+ require('jwt-decode');
19
+ require('../base/plugin/errors.js');
20
+ var IPlugin = require('../base/plugin/IPlugin.js');
21
+
22
+ function useWalletServicesInnerContextValue(web3AuthContext) {
23
+ const {
24
+ getPlugin,
25
+ isInitialized,
26
+ isConnected
27
+ } = web3AuthContext;
28
+ const walletServicesPlugin = vue.shallowRef(null);
29
+ const ready = vue.ref(false);
30
+ const connecting = vue.ref(false);
31
+ vue.watch(isInitialized, newIsInitialized => {
32
+ if (newIsInitialized) {
33
+ const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
34
+ walletServicesPlugin.value = plugin;
35
+ }
36
+ });
37
+ vue.watch(isConnected, newIsConnected => {
38
+ if (newIsConnected) {
39
+ const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
40
+ walletServicesPlugin.value = plugin;
41
+ // When rehydrating, the connected listener may be registered after the connected event is emitted.
42
+ if (connectorStatus.CONNECTED_STATUSES.includes(plugin === null || plugin === void 0 ? void 0 : plugin.status)) ready.value = true;
43
+ }
44
+ });
45
+ vue.watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
46
+ const connectedListener = () => {
47
+ ready.value = true;
48
+ };
49
+ const disconnectedListener = () => {
50
+ ready.value = false;
51
+ };
52
+ const connectingListener = () => {
53
+ connecting.value = true;
54
+ };
55
+ const previousPlugin = prevWalletServicesPlugin;
56
+ const currentPlugin = newWalletServicesPlugin;
57
+ if (previousPlugin && currentPlugin !== previousPlugin) {
58
+ previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
59
+ previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
60
+ previousPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
61
+ }
62
+ if (currentPlugin && currentPlugin !== previousPlugin) {
63
+ currentPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
64
+ currentPlugin.on(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
65
+ currentPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
66
+ }
67
+ });
68
+ return {
69
+ plugin: walletServicesPlugin,
70
+ ready,
71
+ connecting
72
+ };
73
+ }
74
+
75
+ exports.useWalletServicesInnerContextValue = useWalletServicesInnerContextValue;
@@ -0,0 +1,217 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var analytics = require('../base/analytics.js');
5
+ require('@toruslabs/base-controllers');
6
+ require('@babel/runtime/helpers/defineProperty');
7
+ require('@toruslabs/session-manager');
8
+ require('@web3auth/auth');
9
+ var index = require('../base/errors/index.js');
10
+ var loglevel = require('../base/loglevel.js');
11
+ require('@toruslabs/constants');
12
+ require('@toruslabs/http-helpers');
13
+ var constants$1 = require('../base/constants.js');
14
+ require('../base/wallet/index.js');
15
+ require('../base/connector/connectorStatus.js');
16
+ var constants = require('../base/connector/constants.js');
17
+ require('jwt-decode');
18
+ require('../base/plugin/errors.js');
19
+ require('../base/plugin/IPlugin.js');
20
+
21
+ function useWeb3AuthInnerContextValue({
22
+ Web3AuthConstructor,
23
+ watchSource,
24
+ getWeb3AuthOptions,
25
+ initialState,
26
+ createConnectionRef = () => vue.ref(null)
27
+ }) {
28
+ const web3Auth = vue.shallowRef(null);
29
+ const connection = createConnectionRef();
30
+ const isMFAEnabled = vue.ref(false);
31
+ const status = vue.ref(null);
32
+ const chainId = vue.ref(null);
33
+ const chainNamespace = vue.ref(null);
34
+ const isInitializing = vue.ref(false);
35
+ const initError = vue.ref(null);
36
+ const isInitialized = vue.ref(false);
37
+ const isConnected = vue.ref(false);
38
+ const isAuthorized = vue.ref(false);
39
+ const getPlugin = name => {
40
+ if (!web3Auth.value) throw index.WalletInitializationError.notReady();
41
+ return web3Auth.value.getPlugin(name);
42
+ };
43
+ const setIsMFAEnabled = isMfaEnabled => {
44
+ isMFAEnabled.value = isMfaEnabled;
45
+ };
46
+ vue.watch(watchSource, (newSource, _, onInvalidate) => {
47
+ const resetHookState = () => {
48
+ connection.value = null;
49
+ isMFAEnabled.value = false;
50
+ isConnected.value = false;
51
+ isAuthorized.value = false;
52
+ status.value = null;
53
+ chainId.value = null;
54
+ chainNamespace.value = null;
55
+ };
56
+ onInvalidate(() => {
57
+ if (web3Auth.value) {
58
+ web3Auth.value.cleanup();
59
+ }
60
+ });
61
+ resetHookState();
62
+ const web3AuthInstance = new Web3AuthConstructor(getWeb3AuthOptions(newSource), initialState);
63
+ web3AuthInstance.setAnalyticsProperties({
64
+ integration_type: analytics.ANALYTICS_INTEGRATION_TYPE.VUE_COMPOSABLES
65
+ });
66
+ web3Auth.value = web3AuthInstance;
67
+ }, {
68
+ immediate: true
69
+ });
70
+ vue.watch(web3Auth, async (newWeb3Auth, _, onInvalidate) => {
71
+ const controller = new AbortController();
72
+ onInvalidate(() => {
73
+ controller.abort();
74
+ });
75
+ if (newWeb3Auth) {
76
+ try {
77
+ initError.value = null;
78
+ isInitializing.value = true;
79
+ await newWeb3Auth.init({
80
+ signal: controller.signal
81
+ });
82
+ } catch (error) {
83
+ loglevel.log.error("Error initializing web3auth", error);
84
+ initError.value = error;
85
+ } finally {
86
+ isInitializing.value = false;
87
+ }
88
+ }
89
+ }, {
90
+ immediate: true
91
+ });
92
+ vue.watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
93
+ const notReadyListener = () => {
94
+ status.value = web3Auth.value.status;
95
+ };
96
+ const readyListener = () => {
97
+ status.value = web3Auth.value.status;
98
+ isInitialized.value = true;
99
+ };
100
+ const connectedListener = data => {
101
+ if (data.pendingUserConsent) return;
102
+ status.value = web3Auth.value.status;
103
+ // We do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
104
+ if (web3Auth.value.status === constants.CONNECTOR_STATUS.CONNECTED) {
105
+ var _web3Auth$value$curre, _web3Auth$value$curre2;
106
+ if (!isInitialized.value) isInitialized.value = true;
107
+ isConnected.value = true;
108
+ connection.value = newWeb3Auth.connection;
109
+ chainId.value = web3Auth.value.currentChainId;
110
+ chainNamespace.value = (_web3Auth$value$curre = (_web3Auth$value$curre2 = web3Auth.value.currentChain) === null || _web3Auth$value$curre2 === void 0 ? void 0 : _web3Auth$value$curre2.chainNamespace) !== null && _web3Auth$value$curre !== void 0 ? _web3Auth$value$curre : null;
111
+ }
112
+ };
113
+ const authorizedListener = () => {
114
+ status.value = web3Auth.value.status;
115
+ if (web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
116
+ isAuthorized.value = true;
117
+ isConnected.value = true;
118
+ }
119
+ };
120
+ const consentAcceptedListener = () => {
121
+ status.value = web3Auth.value.status;
122
+ if (web3Auth.value.status === constants.CONNECTOR_STATUS.CONNECTED || web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
123
+ var _web3Auth$value$curre3, _web3Auth$value$curre4;
124
+ if (!isInitialized.value) isInitialized.value = true;
125
+ isConnected.value = true;
126
+ connection.value = newWeb3Auth.connection;
127
+ chainId.value = web3Auth.value.currentChainId;
128
+ chainNamespace.value = (_web3Auth$value$curre3 = (_web3Auth$value$curre4 = web3Auth.value.currentChain) === null || _web3Auth$value$curre4 === void 0 ? void 0 : _web3Auth$value$curre4.chainNamespace) !== null && _web3Auth$value$curre3 !== void 0 ? _web3Auth$value$curre3 : null;
129
+ if (web3Auth.value.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
130
+ isAuthorized.value = true;
131
+ }
132
+ }
133
+ };
134
+ const disconnectedListener = () => {
135
+ status.value = web3Auth.value.status;
136
+ isConnected.value = false;
137
+ connection.value = null;
138
+ isMFAEnabled.value = false;
139
+ isAuthorized.value = false;
140
+ };
141
+ const connectingListener = () => {
142
+ status.value = web3Auth.value.status;
143
+ };
144
+ const errorListener = () => {
145
+ status.value = web3Auth.value.status;
146
+ };
147
+ const mfaEnabledListener = () => {
148
+ isMFAEnabled.value = true;
149
+ };
150
+ if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
151
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
152
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.READY, readyListener);
153
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
154
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
155
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
156
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
157
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
158
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
159
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
160
+ if (prevWeb3Auth.loginMode === constants$1.LOGIN_MODE.MODAL) {
161
+ prevWeb3Auth.removeListener(constants.CONNECTOR_EVENTS.CONSENT_ACCEPTED, consentAcceptedListener);
162
+ }
163
+ }
164
+ if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
165
+ status.value = newWeb3Auth.status;
166
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
167
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.READY, readyListener);
168
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
169
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
170
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
171
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
172
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
173
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
174
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
175
+ if (newWeb3Auth.loginMode === constants$1.LOGIN_MODE.MODAL) {
176
+ newWeb3Auth.on(constants.CONNECTOR_EVENTS.CONSENT_ACCEPTED, consentAcceptedListener);
177
+ }
178
+ }
179
+ }, {
180
+ immediate: true
181
+ });
182
+ vue.watch(connection, (newConnection, prevConnection) => {
183
+ var _prevConnection$ether, _newConnection$ethere;
184
+ const handleChainChange = newChainId => {
185
+ var _web3Auth$value$curre5, _web3Auth$value;
186
+ chainId.value = newChainId;
187
+ chainNamespace.value = (_web3Auth$value$curre5 = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 || (_web3Auth$value = _web3Auth$value.currentChain) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.chainNamespace) !== null && _web3Auth$value$curre5 !== void 0 ? _web3Auth$value$curre5 : null;
188
+ };
189
+ const prevProvider = (_prevConnection$ether = prevConnection === null || prevConnection === void 0 ? void 0 : prevConnection.ethereumProvider) !== null && _prevConnection$ether !== void 0 ? _prevConnection$ether : null;
190
+ const newProvider = (_newConnection$ethere = newConnection === null || newConnection === void 0 ? void 0 : newConnection.ethereumProvider) !== null && _newConnection$ethere !== void 0 ? _newConnection$ethere : null;
191
+ if (prevProvider && newProvider !== prevProvider) {
192
+ prevProvider.removeListener("chainChanged", handleChainChange);
193
+ }
194
+ if (newProvider && newProvider !== prevProvider) {
195
+ newProvider.on("chainChanged", handleChainChange);
196
+ }
197
+ }, {
198
+ immediate: true
199
+ });
200
+ return {
201
+ web3Auth,
202
+ isConnected,
203
+ isAuthorized,
204
+ connection,
205
+ isInitializing,
206
+ initError,
207
+ isInitialized,
208
+ status,
209
+ isMFAEnabled,
210
+ chainId,
211
+ chainNamespace,
212
+ getPlugin,
213
+ setIsMFAEnabled
214
+ };
215
+ }
216
+
217
+ exports.useWeb3AuthInnerContextValue = useWeb3AuthInnerContextValue;
@@ -11,15 +11,17 @@ require('@babel/runtime/helpers/defineProperty');
11
11
  require('@segment/analytics-next');
12
12
  var loglevel = require('../../base/loglevel.js');
13
13
  var baseControllers = require('@toruslabs/base-controllers');
14
+ require('@toruslabs/session-manager');
14
15
  var index = require('../../base/errors/index.js');
16
+ require('@toruslabs/constants');
17
+ require('@toruslabs/http-helpers');
18
+ require('../../base/constants.js');
15
19
  require('../../base/wallet/index.js');
16
20
  require('../../base/connector/connectorStatus.js');
17
21
  require('../../base/connector/constants.js');
18
22
  require('jwt-decode');
19
23
  require('../../base/plugin/errors.js');
20
24
  require('../../base/plugin/IPlugin.js');
21
- require('@toruslabs/constants');
22
- require('@toruslabs/http-helpers');
23
25
  var useWeb3Auth = require('../composables/useWeb3Auth.js');
24
26
  var useWeb3AuthDisconnect = require('../composables/useWeb3AuthDisconnect.js');
25
27
  var constants = require('./constants.js');
@@ -87,16 +89,16 @@ const Web3AuthWagmiProvider = vue.defineComponent({
87
89
  setup() {
88
90
  const {
89
91
  isConnected,
90
- provider
92
+ connection
91
93
  } = useWeb3Auth.useWeb3Auth();
92
94
  const {
93
95
  disconnect
94
96
  } = useWeb3AuthDisconnect.useWeb3AuthDisconnect();
95
97
  const wagmiConfig = vue$1.useConfig();
96
98
  const {
97
- reconnect
99
+ mutate: reconnect
98
100
  } = vue$1.useReconnect();
99
- vue$1.useAccountEffect({
101
+ vue$1.useConnectionEffect({
100
102
  onDisconnect: async () => {
101
103
  loglevel.log.info("Disconnected from wagmi");
102
104
  if (isConnected.value) await disconnect();
@@ -108,9 +110,11 @@ const Web3AuthWagmiProvider = vue.defineComponent({
108
110
  }
109
111
  }
110
112
  });
111
- vue.watch(isConnected, async newIsConnected => {
112
- if (newIsConnected && provider.value) {
113
- const connector = await setupConnector(provider.value, wagmiConfig);
113
+ vue.watch([isConnected, connection], async () => {
114
+ var _connection$value;
115
+ const newIsConnected = isConnected.value;
116
+ if (newIsConnected && (_connection$value = connection.value) !== null && _connection$value !== void 0 && _connection$value.ethereumProvider) {
117
+ const connector = await setupConnector(connection.value.ethereumProvider, wagmiConfig);
114
118
  if (!connector) {
115
119
  throw new Error("Failed to setup connector");
116
120
  }
@@ -0,0 +1,175 @@
1
+ 'use strict';
2
+
3
+ var kit = require('@solana/kit');
4
+ var metadataHelpers = require('@toruslabs/metadata-helpers');
5
+ var wsEmbed = require('@web3auth/ws-embed');
6
+ var evm = require('@x402/evm');
7
+ var fetch$1 = require('@x402/fetch');
8
+ var svm = require('@x402/svm');
9
+ var viem = require('viem');
10
+ require('../base/wallet/index.js');
11
+ var interfaces = require('./interfaces.js');
12
+ var solana = require('../base/wallet/solana.js');
13
+
14
+ const EVM_CAIP2_WILDCARD = "eip155:*";
15
+ const SOLANA_CAIP2_WILDCARD = "solana:*";
16
+ /**
17
+ * For 402 responses that carry v2 payment requirements in the JSON body instead
18
+ * of the PAYMENT-REQUIRED header, reads the body, promotes the data into the
19
+ * header, and reconstructs the response so downstream code can consume it normally.
20
+ *
21
+ * Returns the original response unchanged when the body is not JSON, is malformed,
22
+ * or does not carry an x402Version \>= 2 payload.
23
+ */
24
+ async function normalizePaymentRequiredResponse(response) {
25
+ var _response$headers$get;
26
+ const contentType = (_response$headers$get = response.headers.get("Content-Type")) !== null && _response$headers$get !== void 0 ? _response$headers$get : "";
27
+ let body;
28
+ if (contentType.includes("application/json")) {
29
+ body = await response.json();
30
+ } else {
31
+ const data = await response.text();
32
+ body = JSON.parse(data);
33
+ }
34
+ try {
35
+ if (body.x402Version && body.x402Version >= 2) {
36
+ const newHeaders = new Headers(response.headers);
37
+ const jsonData = JSON.stringify(body);
38
+ newHeaders.set(interfaces.PAYMENT_REQUIRED_HEADER, metadataHelpers.encodeBase64Url(jsonData));
39
+ return new Response(jsonData, {
40
+ status: response.status,
41
+ statusText: response.statusText,
42
+ headers: newHeaders
43
+ });
44
+ }
45
+ } catch {
46
+ // Malformed JSON - fall through and return response with the already-consumed body
47
+ }
48
+ return new Response(JSON.stringify(body), {
49
+ status: response.status,
50
+ statusText: response.statusText,
51
+ headers: response.headers
52
+ });
53
+ }
54
+ async function getEvmAddress(provider) {
55
+ var _accounts$;
56
+ const accounts = await provider.request({
57
+ method: wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS
58
+ });
59
+ return (_accounts$ = accounts === null || accounts === void 0 ? void 0 : accounts[0]) !== null && _accounts$ !== void 0 ? _accounts$ : null;
60
+ }
61
+ function createProviderBackedEvmSigner(provider, address) {
62
+ const walletClient = viem.createWalletClient({
63
+ account: address,
64
+ transport: viem.custom(provider)
65
+ });
66
+ return walletClient;
67
+ }
68
+ /**
69
+ * Wraps a fetch function so that 402 responses whose v2 payment requirements
70
+ * arrive in the response body (instead of the PAYMENT-REQUIRED header) are
71
+ * normalised: the body JSON is base64-encoded and promoted into the
72
+ * PAYMENT-REQUIRED header so that the \@x402/fetch client library can process it.
73
+ *
74
+ * The \@x402/fetch library's body fallback only accepts x402Version === 1;
75
+ * this shim bridges the gap for servers that send v2 data in the body.
76
+ *
77
+ * @param baseFetch - The underlying fetch implementation to wrap
78
+ * @returns A fetch-compatible function with the shim applied
79
+ */
80
+ function withX402BodyShim(baseFetch) {
81
+ return async (input, init) => {
82
+ const response = await baseFetch(input, init);
83
+ if (response.status === 402 && !response.headers.get(interfaces.PAYMENT_REQUIRED_HEADER)) {
84
+ return normalizePaymentRequiredResponse(response);
85
+ }
86
+ return response;
87
+ };
88
+ }
89
+ /**
90
+ * Builds a `@x402/svm`-compatible `TransactionPartialSigner` from a web3auth
91
+ * Solana provider.
92
+ *
93
+ * The web3auth `signTransaction` call returns the signer's Ed25519 signature
94
+ * encoded in base58 (64 bytes). We decode it back to bytes and slot it into
95
+ * the signature dictionary that `@solana/kit`'s partial-signing helpers expect.
96
+ */
97
+ function createSvmSigner(wallet, walletAddress) {
98
+ const base58Encoder = kit.getBase58Encoder();
99
+ const signerAddress = kit.address(walletAddress);
100
+ const clientSvmSigner = svm.toClientSvmSigner({
101
+ address: signerAddress,
102
+ signTransactions: async transactions => {
103
+ const signatureDictionaries = await Promise.all(transactions.map(async tx => {
104
+ const signatureBase58 = await solana.walletSignTransaction(wallet, tx);
105
+ return {
106
+ [signerAddress]: base58Encoder.encode(signatureBase58)
107
+ };
108
+ }));
109
+ return signatureDictionaries;
110
+ }
111
+ });
112
+ return clientSvmSigner;
113
+ }
114
+ /**
115
+ * Creates a payment-aware fetch function for a connected Solana wallet.
116
+ * Registers the exact SVM payment scheme and applies the body-shim so that
117
+ * servers returning v2 payment requirements in the response body are handled
118
+ * transparently.
119
+ *
120
+ * @param wallet - Connected Solana wallet (must have an account)
121
+ * @param walletAddress - The wallet's public key as a base58 address string
122
+ * @param rpcUrl - Optional custom Solana RPC URL (defaults to public cluster endpoints)
123
+ * @returns A fetch-compatible function that handles x402 payment flows
124
+ */
125
+ function createSolanaX402Fetch(wallet, walletAddress, rpcUrl) {
126
+ if (!walletAddress) throw new Error("Wallet address is unavailable.");
127
+ const svmSigner = createSvmSigner(wallet, walletAddress);
128
+ const client = new fetch$1.x402Client().register(SOLANA_CAIP2_WILDCARD, new svm.ExactSvmScheme(svmSigner, rpcUrl ? {
129
+ rpcUrl
130
+ } : undefined));
131
+ return fetch$1.wrapFetchWithPayment(withX402BodyShim(fetch), client);
132
+ }
133
+ /**
134
+ * Creates a payment-aware fetch function for an EVM typed-data signer.
135
+ * Registers the exact EVM payment scheme and applies the body-shim so that
136
+ * servers returning v2 payment requirements in the response body are handled
137
+ * transparently.
138
+ *
139
+ * @param signer - Minimal signer with an address and EIP-712 signTypedData implementation
140
+ * @returns A fetch-compatible function that handles x402 payment flows
141
+ */
142
+ function createEvmX402Fetch(walletClient) {
143
+ var _walletClient$account;
144
+ const address = (_walletClient$account = walletClient.account) === null || _walletClient$account === void 0 ? void 0 : _walletClient$account.address;
145
+ if (!address) throw new Error("Wallet account is unavailable.");
146
+ const evmSigner = evm.toClientEvmSigner({
147
+ address,
148
+ signTypedData: async params => {
149
+ const {
150
+ domain,
151
+ types,
152
+ primaryType,
153
+ message
154
+ } = params;
155
+ return walletClient.signTypedData({
156
+ account: address,
157
+ domain,
158
+ types,
159
+ primaryType,
160
+ message
161
+ });
162
+ }
163
+ });
164
+ const client = new fetch$1.x402Client().register(EVM_CAIP2_WILDCARD, new evm.ExactEvmScheme(evmSigner));
165
+ return fetch$1.wrapFetchWithPayment(withX402BodyShim(fetch), client);
166
+ }
167
+
168
+ exports.PAYMENT_REQUIRED_HEADER = interfaces.PAYMENT_REQUIRED_HEADER;
169
+ exports.EVM_CAIP2_WILDCARD = EVM_CAIP2_WILDCARD;
170
+ exports.SOLANA_CAIP2_WILDCARD = SOLANA_CAIP2_WILDCARD;
171
+ exports.createEvmX402Fetch = createEvmX402Fetch;
172
+ exports.createProviderBackedEvmSigner = createProviderBackedEvmSigner;
173
+ exports.createSolanaX402Fetch = createSolanaX402Fetch;
174
+ exports.getEvmAddress = getEvmAddress;
175
+ exports.withX402BodyShim = withX402BodyShim;
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const PAYMENT_REQUIRED_HEADER = "PAYMENT-REQUIRED";
4
+
5
+ exports.PAYMENT_REQUIRED_HEADER = PAYMENT_REQUIRED_HEADER;
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var baseControllers = require('@toruslabs/base-controllers');
5
+ var useChain = require('../react/hooks/useChain.js');
6
+ var useWeb3Auth = require('../react/hooks/useWeb3Auth.js');
7
+ var index = require('./index.js');
8
+
9
+ /**
10
+ * Web3Auth-integrated x402 fetch hook.
11
+ *
12
+ * Automatically selects the correct payment path based on the currently connected
13
+ * chain namespace:
14
+ * - **Solana** - uses `createSolanaX402Fetch` backed by the web3auth Solana wallet.
15
+ * - **EVM** - uses `createEvmX402Fetch` backed by the web3auth EIP-1193 provider.
16
+ *
17
+ * Callers do not need to pass a signer manually; it is sourced internally.
18
+ * When `address` is provided, it takes precedence over the provider's active account.
19
+ */
20
+ const useX402Fetch = address => {
21
+ const {
22
+ chainNamespace
23
+ } = useChain.useChain();
24
+ const {
25
+ web3Auth,
26
+ isConnected,
27
+ connection
28
+ } = useWeb3Auth.useWeb3Auth();
29
+ // const { solanaWallet, accounts } = useSolanaWallet();
30
+ const fetchWithPayment = react.useCallback(async ({
31
+ url,
32
+ options
33
+ }) => {
34
+ if (!isConnected) throw new Error("Wallet not connected");
35
+ if (chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
36
+ var _solanaWallet$account;
37
+ const {
38
+ solanaWallet
39
+ } = connection;
40
+ if (!solanaWallet || !((_solanaWallet$account = solanaWallet.accounts) !== null && _solanaWallet$account !== void 0 && _solanaWallet$account[0])) throw new Error("Solana wallet not available");
41
+ const account = solanaWallet.accounts[0];
42
+ if (!account) throw new Error("Solana account not available");
43
+ return index.createSolanaX402Fetch(solanaWallet, account.address)(url, options);
44
+ }
45
+ if (chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
46
+ const provider = connection === null || connection === void 0 ? void 0 : connection.ethereumProvider;
47
+ if (!provider) throw new Error("EVM provider not available");
48
+ const evmAddress = address !== null && address !== void 0 ? address : await index.getEvmAddress(provider);
49
+ if (!evmAddress) throw new Error("EVM address not available");
50
+ const signer = index.createProviderBackedEvmSigner(provider, evmAddress);
51
+ return index.createEvmX402Fetch(signer)(url, options);
52
+ }
53
+ throw new Error("Unsupported chain namespace");
54
+ }, [web3Auth, isConnected, chainNamespace, address, connection]);
55
+ return {
56
+ fetchWithPayment
57
+ };
58
+ };
59
+
60
+ exports.createEvmX402Fetch = index.createEvmX402Fetch;
61
+ exports.createProviderBackedEvmSigner = index.createProviderBackedEvmSigner;
62
+ exports.createSolanaX402Fetch = index.createSolanaX402Fetch;
63
+ exports.getEvmAddress = index.getEvmAddress;
64
+ exports.useX402Fetch = useX402Fetch;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var baseControllers = require('@toruslabs/base-controllers');
5
+ var useWeb3Auth = require('../vue/composables/useWeb3Auth.js');
6
+ var index = require('./index.js');
7
+
8
+ /**
9
+ * Web3Auth-integrated x402 fetch composable.
10
+ *
11
+ * Automatically selects the correct payment path based on the currently connected
12
+ * chain namespace:
13
+ * - **Solana** - uses `createSolanaX402Fetch` backed by the web3auth Solana wallet.
14
+ * - **EVM** - uses `createEvmX402Fetch` backed by the web3auth EIP-1193 provider.
15
+ *
16
+ * Callers do not need to pass a signer manually; it is sourced internally.
17
+ * When `address` is provided, it takes precedence over the provider's active account.
18
+ */
19
+ const useX402Fetch = address => {
20
+ const {
21
+ isConnected,
22
+ chainNamespace,
23
+ connection
24
+ } = useWeb3Auth.useWeb3Auth();
25
+ const fetchWithPayment = async ({
26
+ url,
27
+ options
28
+ }) => {
29
+ if (!isConnected.value) throw new Error("Wallet not connected");
30
+ if (chainNamespace.value === baseControllers.CHAIN_NAMESPACES.SOLANA) {
31
+ var _solanaWallet$account;
32
+ const {
33
+ solanaWallet
34
+ } = connection.value;
35
+ if (!solanaWallet || !((_solanaWallet$account = solanaWallet.accounts) !== null && _solanaWallet$account !== void 0 && _solanaWallet$account[0])) throw new Error("Solana wallet not available");
36
+ const account = solanaWallet.accounts[0];
37
+ if (!account) throw new Error("Solana account not available");
38
+ return index.createSolanaX402Fetch(solanaWallet, account.address)(url, options);
39
+ }
40
+ if (chainNamespace.value === baseControllers.CHAIN_NAMESPACES.EIP155) {
41
+ var _connection$value, _toValue;
42
+ const provider = (_connection$value = connection.value) === null || _connection$value === void 0 ? void 0 : _connection$value.ethereumProvider;
43
+ if (!provider) throw new Error("EVM provider not available");
44
+ const evmAddress = (_toValue = vue.toValue(address)) !== null && _toValue !== void 0 ? _toValue : await index.getEvmAddress(provider);
45
+ if (!evmAddress) throw new Error("EVM address not available");
46
+ const signer = index.createProviderBackedEvmSigner(provider, evmAddress);
47
+ return index.createEvmX402Fetch(signer)(url, options);
48
+ }
49
+ throw new Error("Unsupported chain namespace");
50
+ };
51
+ return {
52
+ fetchWithPayment
53
+ };
54
+ };
55
+
56
+ exports.createEvmX402Fetch = index.createEvmX402Fetch;
57
+ exports.createSolanaX402Fetch = index.createSolanaX402Fetch;
58
+ exports.useX402Fetch = useX402Fetch;