@web3auth/no-modal 10.16.0 → 11.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/lib.cjs/account-linking/index.js +8 -0
  2. package/dist/lib.cjs/account-linking/react.js +95 -0
  3. package/dist/lib.cjs/account-linking/rest.js +54 -0
  4. package/dist/lib.cjs/account-linking/vue.js +98 -0
  5. package/dist/lib.cjs/base/analytics.js +13 -1
  6. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  7. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  8. package/dist/lib.cjs/base/connector/constants.js +6 -2
  9. package/dist/lib.cjs/base/connector/utils.js +0 -21
  10. package/dist/lib.cjs/base/constants.js +4 -0
  11. package/dist/lib.cjs/base/cookie.js +6 -20
  12. package/dist/lib.cjs/base/errors/index.js +84 -12
  13. package/dist/lib.cjs/base/utils.js +22 -11
  14. package/dist/lib.cjs/base/wallet/index.js +7 -0
  15. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  16. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +566 -93
  17. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  18. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +55 -58
  19. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
  20. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  21. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  22. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  23. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +350 -131
  24. package/dist/lib.cjs/connectors/utils.js +8 -2
  25. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  26. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  27. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +111 -73
  28. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  29. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  30. package/dist/lib.cjs/index.js +55 -83
  31. package/dist/lib.cjs/noModal.js +957 -169
  32. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  33. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  34. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  35. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  36. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  37. package/dist/lib.cjs/providers/base-provider/baseProvider.js +69 -35
  38. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  39. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  40. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  41. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  42. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  43. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  44. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  45. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  46. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  47. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  48. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  49. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  50. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  51. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  52. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +216 -0
  53. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  54. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  55. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  57. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  58. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  59. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  60. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  61. package/dist/lib.cjs/react/hooks/useWallets.js +51 -0
  62. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  63. package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +2 -2
  64. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  65. package/dist/lib.cjs/react/index.js +12 -2
  66. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  67. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  68. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  69. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  70. package/dist/lib.cjs/react/solana/index.js +2 -0
  71. package/dist/lib.cjs/react/solana/provider.js +169 -0
  72. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  73. package/dist/lib.cjs/types/account-linking/index.d.ts +2 -0
  74. package/dist/lib.cjs/types/account-linking/interfaces.d.ts +90 -0
  75. package/dist/lib.cjs/types/account-linking/react.d.ts +19 -0
  76. package/dist/lib.cjs/types/account-linking/rest.d.ts +9 -0
  77. package/dist/lib.cjs/types/account-linking/vue.d.ts +20 -0
  78. package/dist/lib.cjs/types/base/analytics.d.ts +9 -0
  79. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +26 -5
  80. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  81. package/dist/lib.cjs/types/base/connector/constants.d.ts +5 -0
  82. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +72 -16
  83. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  84. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  85. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  86. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +57 -13
  87. package/dist/lib.cjs/types/base/errors/index.d.ts +15 -3
  88. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  89. package/dist/lib.cjs/types/base/interfaces.d.ts +8 -2
  90. package/dist/lib.cjs/types/base/utils.d.ts +9 -2
  91. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  92. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  93. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +37 -8
  94. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  95. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +77 -2
  96. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +8 -2
  97. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +8 -2
  98. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  99. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  100. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  101. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  102. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  103. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  104. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  105. package/dist/lib.cjs/types/index.d.ts +1 -0
  106. package/dist/lib.cjs/types/noModal.d.ts +113 -10
  107. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  108. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  109. package/dist/lib.cjs/types/providers/base-provider/baseProvider.d.ts +7 -0
  110. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  111. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  112. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  113. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  114. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  115. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  116. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  117. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  118. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  119. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  120. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  121. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  122. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  123. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  124. package/dist/lib.cjs/types/react/hooks/index.d.ts +2 -1
  125. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  126. package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +8 -0
  127. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  128. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  129. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  130. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  131. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  132. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  133. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  134. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  135. package/dist/lib.cjs/types/vue/composables/index.d.ts +3 -1
  136. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  137. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  138. package/dist/lib.cjs/types/vue/composables/useWallets.d.ts +9 -0
  139. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  140. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  141. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  142. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  143. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  144. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  145. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  146. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  147. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  148. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  149. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  150. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  151. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  152. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  153. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  154. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  155. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  156. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  157. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  158. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  159. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  160. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  161. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  162. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  163. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  164. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  165. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  166. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  167. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  168. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  169. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  170. package/dist/lib.cjs/vue/composables/useWallets.js +52 -0
  171. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  172. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +6 -4
  173. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  174. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  175. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  176. package/dist/lib.cjs/vue/index.js +10 -2
  177. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  178. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  179. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  180. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  181. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  182. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  183. package/dist/lib.cjs/vue/solana/index.js +6 -0
  184. package/dist/lib.cjs/vue/solana/provider.js +110 -0
  185. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  186. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +226 -0
  187. package/dist/lib.cjs/vue/wagmi/provider.js +28 -12
  188. package/dist/lib.cjs/x402/index.js +175 -0
  189. package/dist/lib.cjs/x402/interfaces.js +5 -0
  190. package/dist/lib.cjs/x402/react.js +64 -0
  191. package/dist/lib.cjs/x402/vue.js +58 -0
  192. package/dist/lib.esm/account-linking/index.js +1 -0
  193. package/dist/lib.esm/account-linking/react.js +74 -0
  194. package/dist/lib.esm/account-linking/rest.js +51 -0
  195. package/dist/lib.esm/account-linking/vue.js +78 -0
  196. package/dist/lib.esm/base/analytics.js +13 -1
  197. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  198. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  199. package/dist/lib.esm/base/connector/constants.js +6 -2
  200. package/dist/lib.esm/base/connector/utils.js +1 -19
  201. package/dist/lib.esm/base/constants.js +4 -1
  202. package/dist/lib.esm/base/cookie.js +7 -20
  203. package/dist/lib.esm/base/errors/index.js +84 -13
  204. package/dist/lib.esm/base/utils.js +22 -7
  205. package/dist/lib.esm/base/wallet/index.js +2 -1
  206. package/dist/lib.esm/base/wallet/solana.js +81 -0
  207. package/dist/lib.esm/connectors/auth-connector/authConnector.js +527 -57
  208. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  209. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +55 -58
  210. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +57 -66
  211. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +16 -13
  212. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +16 -13
  213. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +22 -34
  214. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +366 -132
  215. package/dist/lib.esm/connectors/utils.js +9 -4
  216. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -31
  217. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  218. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +110 -73
  219. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  220. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  221. package/dist/lib.esm/index.js +12 -19
  222. package/dist/lib.esm/noModal.js +975 -177
  223. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +20 -39
  224. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  225. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  226. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  227. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  228. package/dist/lib.esm/providers/base-provider/baseProvider.js +68 -38
  229. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  230. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  231. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  232. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  233. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  234. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  235. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  236. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  237. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  238. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  239. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  240. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  241. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  242. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  243. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +203 -0
  244. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  245. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  246. package/dist/lib.esm/react/hooks/useWallets.js +33 -0
  247. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  248. package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +2 -2
  249. package/dist/lib.esm/react/index.js +6 -1
  250. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  251. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  252. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  253. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  254. package/dist/lib.esm/react/solana/index.js +1 -0
  255. package/dist/lib.esm/react/solana/provider.js +153 -0
  256. package/dist/lib.esm/react/wagmi/provider.js +8 -8
  257. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  258. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  259. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  260. package/dist/lib.esm/vue/composables/useCheckout.js +1 -1
  261. package/dist/lib.esm/vue/composables/useFunding.js +1 -1
  262. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  263. package/dist/lib.esm/vue/composables/useReceive.js +1 -1
  264. package/dist/lib.esm/vue/composables/useSwap.js +1 -1
  265. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +1 -1
  266. package/dist/lib.esm/vue/composables/useWalletUI.js +1 -1
  267. package/dist/lib.esm/vue/composables/useWallets.js +35 -0
  268. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  269. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +2 -2
  270. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  271. package/dist/lib.esm/vue/index.js +5 -1
  272. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  273. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  274. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  275. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  276. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  277. package/dist/lib.esm/vue/solana/constants.js +3 -0
  278. package/dist/lib.esm/vue/solana/index.js +3 -0
  279. package/dist/lib.esm/vue/solana/provider.js +99 -0
  280. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  281. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +213 -0
  282. package/dist/lib.esm/vue/wagmi/provider.js +26 -12
  283. package/dist/lib.esm/x402/index.js +170 -0
  284. package/dist/lib.esm/x402/interfaces.js +3 -0
  285. package/dist/lib.esm/x402/react.js +59 -0
  286. package/dist/lib.esm/x402/vue.js +54 -0
  287. package/package.json +102 -53
  288. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  289. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  290. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  291. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  292. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  293. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  294. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  295. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  296. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  297. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  298. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  299. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  300. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  301. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  302. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  303. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  304. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  305. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  306. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  307. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  308. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  309. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  310. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  311. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  312. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  313. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  314. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  315. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  316. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  317. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  318. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  319. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  320. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  321. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  322. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  323. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  324. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  325. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  326. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  327. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  328. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  329. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  330. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  331. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  332. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  333. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  334. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  335. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  336. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  337. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  338. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  339. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  340. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  341. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  342. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  343. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  344. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  345. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  346. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  347. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  348. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  349. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  350. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  351. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  352. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  353. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  354. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  355. package/dist/noModal.umd.min.js +0 -2
  356. package/dist/noModal.umd.min.js.LICENSE.txt +0 -46
@@ -4,21 +4,21 @@ var baseControllers = require('@toruslabs/base-controllers');
4
4
  var auth = require('@web3auth/auth');
5
5
 
6
6
  function createChainIdMiddleware(chainId) {
7
- return (req, res, next, end) => {
8
- if (req.method === "chainId") {
9
- res.result = chainId;
10
- return end();
11
- }
12
- return next();
7
+ return ({
8
+ request,
9
+ next
10
+ }) => {
11
+ if (request.method === "chainId") return chainId;
12
+ return next(request);
13
13
  };
14
14
  }
15
15
  function createProviderConfigMiddleware(providerConfig) {
16
- return (req, res, next, end) => {
17
- if (req.method === "provider_config") {
18
- res.result = providerConfig;
19
- return end();
20
- }
21
- return next();
16
+ return ({
17
+ request,
18
+ next
19
+ }) => {
20
+ if (request.method === "provider_config") return providerConfig;
21
+ return next(request);
22
22
  };
23
23
  }
24
24
  function createJsonRpcClient(providerConfig) {
@@ -26,16 +26,15 @@ function createJsonRpcClient(providerConfig) {
26
26
  chainId,
27
27
  rpcTarget
28
28
  } = providerConfig;
29
- const fetchMiddleware = baseControllers.createFetchMiddleware({
30
- rpcTarget
29
+ const engine = auth.JRPCEngineV2.create({
30
+ middleware: [createChainIdMiddleware(chainId), createProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
31
+ rpcTarget
32
+ })]
31
33
  });
32
- const networkMiddleware = auth.mergeMiddleware([createChainIdMiddleware(chainId), createProviderConfigMiddleware(providerConfig), fetchMiddleware]);
34
+ const networkMiddleware = engine.asMiddleware();
33
35
  return {
34
- networkMiddleware,
35
- fetchMiddleware
36
+ networkMiddleware
36
37
  };
37
38
  }
38
39
 
39
- exports.createChainIdMiddleware = createChainIdMiddleware;
40
40
  exports.createJsonRpcClient = createJsonRpcClient;
41
- exports.createProviderConfigMiddleware = createProviderConfigMiddleware;
@@ -1,9 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var getCreateRandomId = require('json-rpc-random-id');
4
3
  var auth = require('@web3auth/auth');
5
4
 
6
- const createRandomId = getCreateRandomId();
7
5
  exports.EIP1193_EVENTS = void 0;
8
6
  (function (EIP1193_EVENTS) {
9
7
  EIP1193_EVENTS["ACCOUNTS_CHANGED"] = "accountsChanged";
@@ -17,4 +15,3 @@ Object.defineProperty(exports, "getED25519Key", {
17
15
  enumerable: true,
18
16
  get: function () { return auth.getED25519Key; }
19
17
  });
20
- exports.createRandomId = createRandomId;
@@ -1,60 +1,39 @@
1
1
  'use strict';
2
2
 
3
3
  var auth = require('@web3auth/auth');
4
- var walletMidddleware = require('./walletMidddleware.js');
4
+ var walletMiddleware = require('./walletMiddleware.js');
5
5
 
6
6
  function createEthMiddleware(providerHandlers) {
7
- const {
8
- getAccounts,
9
- getPrivateKey,
10
- getPublicKey,
11
- processTransaction,
12
- processSignTransaction,
13
- processEthSignMessage,
14
- processTypedMessageV4,
15
- processPersonalMessage,
16
- processGetCapabilities,
17
- processSendCalls,
18
- processGetCallsStatus,
19
- processShowCallsStatus
20
- } = providerHandlers;
21
- const ethMiddleware = auth.mergeMiddleware([auth.createScaffoldMiddleware({
22
- eth_syncing: false
23
- }), walletMidddleware.createWalletMiddleware({
24
- getAccounts,
25
- getPrivateKey,
26
- getPublicKey,
27
- processTransaction,
28
- processEthSignMessage,
29
- processSignTransaction,
30
- processTypedMessageV4,
31
- processPersonalMessage,
32
- processGetCapabilities,
33
- processSendCalls,
34
- processGetCallsStatus,
35
- processShowCallsStatus
36
- })]);
37
- return ethMiddleware;
7
+ const engine = auth.JRPCEngineV2.create({
8
+ middleware: [auth.createScaffoldMiddlewareV2({
9
+ eth_syncing: false
10
+ }), walletMiddleware.createWalletMiddlewareV2(providerHandlers)]
11
+ });
12
+ return engine.asMiddleware();
38
13
  }
39
14
  function createEthChainSwitchMiddleware({
40
15
  switchChain,
41
16
  addChain
42
17
  }) {
43
- async function updateChain(req, res) {
44
- var _req$params;
45
- const chainParams = (_req$params = req.params) !== null && _req$params !== void 0 && _req$params.length ? req.params[0] : undefined;
18
+ async function walletSwitchEthereumChainHandler(params) {
19
+ var _request$params;
20
+ const request = params.request;
21
+ const chainParams = (_request$params = request.params) !== null && _request$params !== void 0 && _request$params.length ? request.params[0] : undefined;
46
22
  if (!chainParams) throw auth.rpcErrors.invalidParams("Missing chainId");
47
- res.result = await switchChain(chainParams);
23
+ await switchChain(chainParams);
24
+ return null;
48
25
  }
49
- async function addChainConfig(req, res) {
50
- var _req$params2;
51
- const chainConfig = (_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.length ? req.params[0] : undefined;
26
+ async function walletAddEthereumChainHandler(params) {
27
+ var _request$params2;
28
+ const request = params.request;
29
+ const chainConfig = (_request$params2 = request.params) !== null && _request$params2 !== void 0 && _request$params2.length ? request.params[0] : undefined;
52
30
  if (!chainConfig) throw auth.rpcErrors.invalidParams("Missing chainConfig");
53
- res.result = await addChain(chainConfig);
31
+ await addChain(chainConfig);
32
+ return null;
54
33
  }
55
- return auth.createScaffoldMiddleware({
56
- wallet_switchEthereumChain: auth.createAsyncMiddleware(updateChain),
57
- wallet_addEthereumChain: auth.createAsyncMiddleware(addChainConfig)
34
+ return auth.createScaffoldMiddlewareV2({
35
+ wallet_switchEthereumChain: walletSwitchEthereumChainHandler,
36
+ wallet_addEthereumChain: walletAddEthereumChainHandler
58
37
  });
59
38
  }
60
39
 
@@ -4,21 +4,21 @@ var baseControllers = require('@toruslabs/base-controllers');
4
4
  var auth = require('@web3auth/auth');
5
5
 
6
6
  function createEthChainIdMiddleware(chainId) {
7
- return (req, res, next, end) => {
8
- if (req.method === "eth_chainId") {
9
- res.result = chainId;
10
- return end();
11
- }
12
- return next();
7
+ return ({
8
+ request,
9
+ next
10
+ }) => {
11
+ if (request.method === "eth_chainId") return chainId;
12
+ return next(request);
13
13
  };
14
14
  }
15
15
  function createEthProviderConfigMiddleware(providerConfig) {
16
- return (req, res, next, end) => {
17
- if (req.method === "eth_provider_config") {
18
- res.result = providerConfig;
19
- return end();
20
- }
21
- return next();
16
+ return ({
17
+ request,
18
+ next
19
+ }) => {
20
+ if (request.method === "eth_provider_config") return providerConfig;
21
+ return next(request);
22
22
  };
23
23
  }
24
24
  function createEthJsonRpcClient(providerConfig) {
@@ -26,16 +26,15 @@ function createEthJsonRpcClient(providerConfig) {
26
26
  chainId,
27
27
  rpcTarget
28
28
  } = providerConfig;
29
- const fetchMiddleware = baseControllers.createFetchMiddleware({
30
- rpcTarget
29
+ const engine = auth.JRPCEngineV2.create({
30
+ middleware: [createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
31
+ rpcTarget
32
+ })]
31
33
  });
32
- const networkMiddleware = auth.mergeMiddleware([createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), fetchMiddleware]);
34
+ const networkMiddleware = engine.asMiddleware();
33
35
  return {
34
- networkMiddleware,
35
- fetchMiddleware
36
+ networkMiddleware
36
37
  };
37
38
  }
38
39
 
39
- exports.createEthChainIdMiddleware = createEthChainIdMiddleware;
40
40
  exports.createEthJsonRpcClient = createEthJsonRpcClient;
41
- exports.createEthProviderConfigMiddleware = createEthProviderConfigMiddleware;
@@ -0,0 +1,200 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var auth = require('@web3auth/auth');
5
+ var viem = require('viem');
6
+
7
+ function createWalletMiddlewareV2({
8
+ getAccounts,
9
+ getPrivateKey,
10
+ getPublicKey,
11
+ processEthSignMessage,
12
+ processPersonalMessage,
13
+ processTransaction,
14
+ processSignTransaction,
15
+ processTypedMessageV4,
16
+ processGetCapabilities,
17
+ processSendCalls,
18
+ processGetCallsStatus,
19
+ processShowCallsStatus
20
+ }) {
21
+ if (!getAccounts) throw new Error("opts.getAccounts is required");
22
+ async function validateAndNormalizeKeyholder(address, req) {
23
+ if (typeof address === "string" && address.length > 0) {
24
+ const accounts = await getAccounts(req);
25
+ const normalizedAddress = address.toLowerCase();
26
+ if (accounts.map(a => a.toLowerCase()).includes(normalizedAddress)) return normalizedAddress;
27
+ }
28
+ throw auth.rpcErrors.invalidParams({
29
+ message: `Invalid parameters: must provide an Ethereum address.`
30
+ });
31
+ }
32
+ // Account lookups
33
+ function ethAccountsHandler(p) {
34
+ return getAccounts(p.request);
35
+ }
36
+ // Tx signatures
37
+ async function ethSendTransactionHandler(p) {
38
+ var _req$params$, _req$params;
39
+ if (!processTransaction) throw auth.rpcErrors.methodNotSupported();
40
+ const req = p.request;
41
+ const txParams = (_req$params$ = (_req$params = req.params) === null || _req$params === void 0 ? void 0 : _req$params[0]) !== null && _req$params$ !== void 0 ? _req$params$ : {
42
+ from: ""
43
+ };
44
+ txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
45
+ return processTransaction(txParams, req);
46
+ }
47
+ async function ethSignTransactionHandler(p) {
48
+ var _req$params$2, _req$params2;
49
+ if (!processSignTransaction) throw auth.rpcErrors.methodNotSupported();
50
+ const req = p.request;
51
+ const txParams = (_req$params$2 = (_req$params2 = req.params) === null || _req$params2 === void 0 ? void 0 : _req$params2[0]) !== null && _req$params$2 !== void 0 ? _req$params$2 : {
52
+ from: ""
53
+ };
54
+ txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
55
+ return processSignTransaction(txParams, req);
56
+ }
57
+ // Message signatures
58
+ async function ethSignHandler(p) {
59
+ if (!processEthSignMessage) throw auth.rpcErrors.methodNotSupported();
60
+ const req = p.request;
61
+ let msgParams;
62
+ if (Array.isArray(req.params)) {
63
+ if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_sign. expected [address, message]`);
64
+ const [address, message] = req.params;
65
+ msgParams = {
66
+ from: address,
67
+ data: message
68
+ };
69
+ } else {
70
+ var _req$params3;
71
+ msgParams = (_req$params3 = req.params) !== null && _req$params3 !== void 0 ? _req$params3 : {
72
+ from: "",
73
+ data: ""
74
+ };
75
+ }
76
+ return processEthSignMessage(msgParams, req);
77
+ }
78
+ async function ethSignTypedDataV4Handler(p) {
79
+ if (!processTypedMessageV4) throw auth.rpcErrors.methodNotSupported();
80
+ const req = p.request;
81
+ if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
82
+ let msgParams;
83
+ if (Array.isArray(req.params)) {
84
+ if (req.params.length !== 2) throw new Error(`WalletMiddleware - incorrect params for eth_signTypedData_v4. expected [address, typedData]`);
85
+ const [address, message] = req.params;
86
+ msgParams = {
87
+ from: address,
88
+ data: message
89
+ };
90
+ } else {
91
+ msgParams = req.params;
92
+ }
93
+ return processTypedMessageV4(msgParams, req);
94
+ }
95
+ async function personalSignHandler(p) {
96
+ if (!processPersonalMessage) throw auth.rpcErrors.methodNotSupported();
97
+ const req = p.request;
98
+ let msgParams;
99
+ if (Array.isArray(req.params)) {
100
+ if (req.params.length < 2) throw new Error(`WalletMiddleware - incorrect params for personal_sign. expected [message, address]`);
101
+ const params = req.params;
102
+ if (typeof params[0] === "object" && params[0] !== null && "challenge" in params[0] && "address" in params[0]) {
103
+ const {
104
+ challenge,
105
+ address
106
+ } = params[0];
107
+ msgParams = {
108
+ from: address,
109
+ data: challenge
110
+ };
111
+ } else {
112
+ msgParams = {
113
+ from: params[1],
114
+ data: typeof params[0] === "string" ? params[0] : ""
115
+ };
116
+ }
117
+ } else {
118
+ var _req$params4;
119
+ msgParams = (_req$params4 = req.params) !== null && _req$params4 !== void 0 ? _req$params4 : {
120
+ from: "",
121
+ data: ""
122
+ };
123
+ }
124
+ return processPersonalMessage(msgParams, req);
125
+ }
126
+ async function ethPrivateKeyHandler(p) {
127
+ if (!getPrivateKey) throw auth.rpcErrors.methodNotSupported();
128
+ return getPrivateKey(p.request);
129
+ }
130
+ async function ethPublicKeyHandler(p) {
131
+ if (!getPublicKey) throw auth.rpcErrors.methodNotSupported();
132
+ return getPublicKey(p.request);
133
+ }
134
+ async function walletGetCapabilitiesHandler(p) {
135
+ var _req$params$3;
136
+ if (!processGetCapabilities) throw auth.rpcErrors.methodNotSupported();
137
+ const req = p.request;
138
+ if (!req.params || !Array.isArray(req.params) || req.params.length < 2) throw auth.rpcErrors.invalidParams("Invalid parameters");
139
+ const account = req.params[0];
140
+ if (!viem.isHex(account)) throw auth.rpcErrors.invalidParams("Invalid account address");
141
+ let chainIds = (_req$params$3 = req.params[1]) !== null && _req$params$3 !== void 0 ? _req$params$3 : [];
142
+ if (!Array.isArray(chainIds)) throw auth.rpcErrors.invalidParams(`Invalid params, received: ${chainIds}. expected: Array`);
143
+ chainIds = chainIds.map(chainId => viem.isHex(chainId) ? chainId : viem.toHex(chainId));
144
+ const getCapabilitiesParams = [account, chainIds];
145
+ return processGetCapabilities(getCapabilitiesParams);
146
+ }
147
+ async function walletSendCallsHandler(p) {
148
+ if (!processSendCalls) throw auth.rpcErrors.methodNotSupported();
149
+ const req = p.request;
150
+ const params = Array.isArray(req.params) ? req.params[0] : req.params;
151
+ if (!params || typeof params !== "object") throw auth.rpcErrors.invalidParams("Missing or invalid params for wallet_sendCalls");
152
+ if (!params.version || typeof params.version !== "string") throw auth.rpcErrors.invalidParams(`Invalid version: expected string, got "${params.version || "undefined"}"`);
153
+ if (!params.chainId) throw auth.rpcErrors.invalidParams("Missing required field: chainId");
154
+ if (!Array.isArray(params.calls) || params.calls.length === 0) throw auth.rpcErrors.invalidParams("calls must be a non-empty array");
155
+ const from = params.from;
156
+ if (from) await validateAndNormalizeKeyholder(from, req);
157
+ const walletSendCallsParams = _objectSpread(_objectSpread({}, params), {}, {
158
+ chainId: viem.isHex(params.chainId) ? params.chainId : viem.toHex(params.chainId)
159
+ });
160
+ return processSendCalls(walletSendCallsParams);
161
+ }
162
+ async function walletBatchCallStatusHandler(p) {
163
+ if (!processGetCallsStatus) throw auth.rpcErrors.methodNotSupported();
164
+ const req = p.request;
165
+ const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
166
+ if (!batchId || typeof batchId !== "string") throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
167
+ return processGetCallsStatus(batchId);
168
+ }
169
+ async function walletShowCallsStatusHandler(p) {
170
+ if (!processShowCallsStatus) throw auth.rpcErrors.methodNotSupported();
171
+ const req = p.request;
172
+ const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
173
+ if (!batchId || typeof batchId !== "string") throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
174
+ await processShowCallsStatus(batchId);
175
+ return true;
176
+ }
177
+ return auth.createScaffoldMiddlewareV2({
178
+ // account lookups
179
+ eth_accounts: ethAccountsHandler,
180
+ eth_requestAccounts: ethAccountsHandler,
181
+ eth_private_key: ethPrivateKeyHandler,
182
+ eth_public_key: ethPublicKeyHandler,
183
+ public_key: ethPublicKeyHandler,
184
+ private_key: ethPrivateKeyHandler,
185
+ // tx signatures
186
+ eth_sendTransaction: ethSendTransactionHandler,
187
+ eth_signTransaction: ethSignTransactionHandler,
188
+ // message signatures
189
+ eth_sign: ethSignHandler,
190
+ eth_signTypedData_v4: ethSignTypedDataV4Handler,
191
+ personal_sign: personalSignHandler,
192
+ // EIP5792
193
+ wallet_getCapabilities: walletGetCapabilitiesHandler,
194
+ wallet_sendCalls: walletSendCallsHandler,
195
+ wallet_batchCallStatus: walletBatchCallStatusHandler,
196
+ wallet_showCallsStatus: walletShowCallsStatusHandler
197
+ });
198
+ }
199
+
200
+ exports.createWalletMiddlewareV2 = createWalletMiddlewareV2;
@@ -6,15 +6,17 @@ require('@babel/runtime/helpers/objectSpread2');
6
6
  require('@segment/analytics-next');
7
7
  require('../../../../base/loglevel.js');
8
8
  var baseControllers = require('@toruslabs/base-controllers');
9
+ require('@toruslabs/session-manager');
9
10
  var index = require('../../../../base/errors/index.js');
11
+ require('@toruslabs/constants');
12
+ require('@toruslabs/http-helpers');
13
+ require('../../../../base/constants.js');
10
14
  require('../../../../base/wallet/index.js');
11
15
  require('../../../../base/connector/connectorStatus.js');
12
16
  require('../../../../base/connector/constants.js');
13
17
  require('jwt-decode');
14
18
  require('../../../../base/plugin/errors.js');
15
19
  require('../../../../base/plugin/IPlugin.js');
16
- require('@toruslabs/constants');
17
- require('@toruslabs/http-helpers');
18
20
  var baseProvider = require('../../../base-provider/baseProvider.js');
19
21
  require('../../../base-provider/CommonJRPCProvider.js');
20
22
  require('../../../base-provider/commonPrivateKeyProvider.js');
@@ -61,14 +63,14 @@ class XrplPrivateKeyProvider extends baseProvider.BaseProvider {
61
63
  keyExportEnabled: this.config.keyExportEnabled
62
64
  });
63
65
  const xrplWalletMiddleware = xrplRpcMiddlewares.createXRPLMiddleware(providerHandlers);
64
- const engine = new auth.JRPCEngine();
65
66
  const {
66
67
  networkMiddleware
67
68
  } = JrpcClient.createXrplJsonRpcClient(chain);
68
- engine.push(this.getChainSwitchMiddleware());
69
- engine.push(xrplWalletMiddleware);
70
- engine.push(networkMiddleware);
71
- const provider = auth.providerFromEngine(engine);
69
+ const chainSwitchMiddleware = xrplRpcMiddlewares.creatXrplChainSwitchMiddleware(params => this.switchChain(params));
70
+ const engine = auth.JRPCEngineV2.create({
71
+ middleware: [chainSwitchMiddleware, xrplWalletMiddleware, networkMiddleware]
72
+ });
73
+ const provider = auth.providerFromEngineV2(engine);
72
74
  this.updateProviderEngineProxy(provider);
73
75
  await this.lookupNetwork(privKey, chainId);
74
76
  this.emit("chainChanged", chainId);
@@ -110,17 +112,6 @@ class XrplPrivateKeyProvider extends baseProvider.BaseProvider {
110
112
  throw index.WalletInitializationError.rpcConnectionError(`Failed to ping network for following rpc target: ${chain.rpcTarget}`);
111
113
  }
112
114
  }
113
- getChainSwitchMiddleware() {
114
- const chainSwitchHandlers = {
115
- switchChain: async req => {
116
- if (!req.params) throw auth.rpcErrors.invalidParams("Missing request params");
117
- if (!req.params.chainId) throw auth.rpcErrors.invalidParams("Missing chainId");
118
- await this.switchChain(req.params);
119
- }
120
- };
121
- const chainSwitchMiddleware = xrplRpcMiddlewares.creatXrplChainSwitchMiddleware(chainSwitchHandlers);
122
- return chainSwitchMiddleware;
123
- }
124
115
  }
125
116
  _XrplPrivateKeyProvider = XrplPrivateKeyProvider;
126
117
  _defineProperty(XrplPrivateKeyProvider, "getProviderInstance", async params => {
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var metadataHelpers = require('@toruslabs/metadata-helpers');
3
4
  var auth = require('@web3auth/auth');
4
5
  var rippleKeypairs = require('ripple-keypairs');
5
6
  var xrpl = require('xrpl');
@@ -7,7 +8,7 @@ var ECDSA = require('xrpl/dist/npm/ECDSA');
7
8
 
8
9
  const deriveKeypair = web3authKey => {
9
10
  const seed = rippleKeypairs.generateSeed({
10
- entropy: Buffer.from(web3authKey.padStart(64, "0"), "hex"),
11
+ entropy: metadataHelpers.hexToBytes(web3authKey.padStart(64, "0")),
11
12
  algorithm: "ecdsa-secp256k1"
12
13
  });
13
14
  const wallet = xrpl.Wallet.fromSecret(seed, {
@@ -5,44 +5,37 @@ var auth = require('@web3auth/auth');
5
5
  var xrplRpcMiddlewares = require('./xrplRpcMiddlewares.js');
6
6
 
7
7
  function createXrplChainIdMiddleware(chainId) {
8
- return (req, res, next, end) => {
9
- if (req.method === xrplRpcMiddlewares.RPC_METHODS.CHAIN_ID) {
10
- res.result = chainId;
11
- return end();
12
- }
13
- return next();
8
+ return ({
9
+ request,
10
+ next
11
+ }) => {
12
+ if (request.method === xrplRpcMiddlewares.RPC_METHODS.CHAIN_ID) return chainId;
13
+ return next(request);
14
14
  };
15
15
  }
16
16
  function createXrplProviderConfigMiddleware(providerConfig) {
17
- return (req, res, next, end) => {
18
- if (req.method === xrplRpcMiddlewares.RPC_METHODS.PROVIDER_CHAIN_CONFIG) {
19
- res.result = providerConfig;
20
- return end();
21
- }
22
- return next();
17
+ return ({
18
+ request,
19
+ next
20
+ }) => {
21
+ if (request.method === xrplRpcMiddlewares.RPC_METHODS.PROVIDER_CHAIN_CONFIG) return providerConfig;
22
+ return next(request);
23
23
  };
24
24
  }
25
- function createConfigMiddleware(providerConfig) {
26
- const {
27
- chainId
28
- } = providerConfig;
29
- return auth.mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]);
30
- }
31
25
  function createXrplJsonRpcClient(providerConfig) {
32
26
  const {
27
+ chainId,
33
28
  rpcTarget
34
29
  } = providerConfig;
35
- const fetchMiddleware = baseControllers.createFetchMiddleware({
36
- rpcTarget
30
+ const engine = auth.JRPCEngineV2.create({
31
+ middleware: [createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
32
+ rpcTarget
33
+ })]
37
34
  });
38
- const networkMiddleware = auth.mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
35
+ const networkMiddleware = engine.asMiddleware();
39
36
  return {
40
- networkMiddleware,
41
- fetchMiddleware
37
+ networkMiddleware
42
38
  };
43
39
  }
44
40
 
45
- exports.createConfigMiddleware = createConfigMiddleware;
46
- exports.createXrplChainIdMiddleware = createXrplChainIdMiddleware;
47
41
  exports.createXrplJsonRpcClient = createXrplJsonRpcClient;
48
- exports.createXrplProviderConfigMiddleware = createXrplProviderConfigMiddleware;
@@ -14,35 +14,15 @@ const RPC_METHODS = {
14
14
  CHAIN_ID: "xrpl_chainId",
15
15
  PROVIDER_CHAIN_CONFIG: "xrpl_providerChainConfig"
16
16
  };
17
- function createGetAccountsMiddleware({
18
- getAccounts
19
- }) {
20
- return auth.createAsyncMiddleware(async (request, response, next) => {
21
- const {
22
- method
23
- } = request;
24
- // hack to override big ids from fetch middleware which are not supported in xrpl servers
25
- // TODO: fix this for xrpl controllers.
17
+ /** Normalizes request.id for XRPL servers that don't support large IDs from fetch middleware. */
18
+ function createRequestIdNormalizerMiddleware() {
19
+ return ({
20
+ request,
21
+ next
22
+ }) => {
26
23
  request.id = baseControllers.randomId();
27
- if (method !== RPC_METHODS.GET_ACCOUNTS) return next();
28
- if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
29
- // This calls from the prefs controller
30
- const accounts = await getAccounts(request);
31
- response.result = accounts;
32
- return undefined;
33
- });
34
- }
35
- function createGenericJRPCMiddleware(targetMethod, handler) {
36
- return auth.createAsyncMiddleware(async (request, response, next) => {
37
- const {
38
- method
39
- } = request;
40
- if (method !== targetMethod) return next();
41
- if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
42
- const result = await handler(request);
43
- response.result = result;
44
- return undefined;
45
- });
24
+ return next(request);
25
+ };
46
26
  }
47
27
  function createXRPLMiddleware(providerHandlers) {
48
28
  const {
@@ -53,18 +33,47 @@ function createXRPLMiddleware(providerHandlers) {
53
33
  getKeyPair,
54
34
  getPublicKey
55
35
  } = providerHandlers;
56
- return auth.mergeMiddleware([createGetAccountsMiddleware({
57
- getAccounts
58
- }), createGenericJRPCMiddleware(RPC_METHODS.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(RPC_METHODS.SUBMIT_TRANSACTION, submitTransaction), createGenericJRPCMiddleware(RPC_METHODS.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(RPC_METHODS.GET_KEY_PAIR, getKeyPair), createGenericJRPCMiddleware(RPC_METHODS.GET_PUBLIC_KEY, getPublicKey)]);
36
+ const scaffold = auth.createScaffoldMiddlewareV2({
37
+ [RPC_METHODS.GET_ACCOUNTS]: params => {
38
+ if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
39
+ return getAccounts(params.request);
40
+ },
41
+ [RPC_METHODS.SIGN_TRANSACTION]: params => {
42
+ return signTransaction(params.request);
43
+ },
44
+ [RPC_METHODS.SUBMIT_TRANSACTION]: params => {
45
+ return submitTransaction(params.request);
46
+ },
47
+ [RPC_METHODS.SIGN_MESSAGE]: params => {
48
+ return signMessage(params.request);
49
+ },
50
+ [RPC_METHODS.GET_KEY_PAIR]: params => {
51
+ return getKeyPair(params.request);
52
+ },
53
+ [RPC_METHODS.GET_PUBLIC_KEY]: params => {
54
+ return getPublicKey(params.request);
55
+ }
56
+ });
57
+ const engine = auth.JRPCEngineV2.create({
58
+ middleware: [createRequestIdNormalizerMiddleware(), scaffold]
59
+ });
60
+ return engine.asMiddleware();
59
61
  }
60
- function creatXrplChainSwitchMiddleware({
61
- switchChain
62
- }) {
63
- return auth.mergeMiddleware([createGenericJRPCMiddleware(RPC_METHODS.SWITCH_CHAIN, switchChain)]);
62
+ function creatXrplChainSwitchMiddleware(switchChain) {
63
+ async function switchChainHandler(params) {
64
+ const req = params.request;
65
+ if (!req.params) throw auth.rpcErrors.invalidParams("Missing request params");
66
+ if (!req.params.chainId) throw auth.rpcErrors.invalidParams("Missing chainId");
67
+ await switchChain({
68
+ chainId: req.params.chainId
69
+ });
70
+ return undefined;
71
+ }
72
+ return auth.createScaffoldMiddlewareV2({
73
+ [RPC_METHODS.SWITCH_CHAIN]: switchChainHandler
74
+ });
64
75
  }
65
76
 
66
77
  exports.RPC_METHODS = RPC_METHODS;
67
78
  exports.creatXrplChainSwitchMiddleware = creatXrplChainSwitchMiddleware;
68
- exports.createGenericJRPCMiddleware = createGenericJRPCMiddleware;
69
- exports.createGetAccountsMiddleware = createGetAccountsMiddleware;
70
79
  exports.createXRPLMiddleware = createXRPLMiddleware;