@web3auth/no-modal 10.14.1 → 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 (326) 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 +13 -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 +40 -47
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +50 -85
  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 -35
  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/interfaces.d.ts +6 -0
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  101. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  102. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  105. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  106. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  107. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  108. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  109. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  110. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  111. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  112. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  113. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  115. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  116. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  117. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  118. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  119. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  120. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  121. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  122. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  123. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  124. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  125. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  126. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  128. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  130. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  131. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  132. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  133. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  134. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  135. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  136. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  137. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  138. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  139. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  140. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  141. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  142. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  143. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  146. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  147. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  153. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  157. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  158. package/dist/lib.cjs/vue/index.js +8 -2
  159. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  163. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  164. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  165. package/dist/lib.cjs/vue/solana/index.js +6 -0
  166. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  167. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  168. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  169. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  170. package/dist/lib.cjs/x402/index.js +175 -0
  171. package/dist/lib.cjs/x402/interfaces.js +5 -0
  172. package/dist/lib.cjs/x402/react.js +64 -0
  173. package/dist/lib.cjs/x402/vue.js +58 -0
  174. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  175. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  176. package/dist/lib.esm/base/connector/constants.js +4 -2
  177. package/dist/lib.esm/base/connector/utils.js +1 -19
  178. package/dist/lib.esm/base/constants.js +4 -1
  179. package/dist/lib.esm/base/cookie.js +7 -20
  180. package/dist/lib.esm/base/errors/index.js +36 -12
  181. package/dist/lib.esm/base/utils.js +10 -7
  182. package/dist/lib.esm/base/wallet/index.js +2 -1
  183. package/dist/lib.esm/base/wallet/solana.js +81 -0
  184. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  185. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  186. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  187. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  188. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-evm-connector/index.js +6 -1
  190. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  191. package/dist/lib.esm/connectors/injected-solana-connector/index.js +3 -2
  192. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  193. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  194. package/dist/lib.esm/connectors/utils.js +9 -4
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  197. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +5 -1
  198. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  199. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +37 -45
  200. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  201. package/dist/lib.esm/index.js +30 -38
  202. package/dist/lib.esm/noModal.js +225 -133
  203. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  204. package/dist/lib.esm/providers/account-abstraction-provider/index.js +5 -1
  205. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  206. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  207. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  208. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  209. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  210. package/dist/lib.esm/providers/base-provider/index.js +6 -2
  211. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  212. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  213. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -36
  214. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  215. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  216. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  217. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  218. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  219. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  220. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  221. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  222. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  223. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  224. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  225. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  226. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  227. package/dist/lib.esm/react/index.js +5 -1
  228. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  229. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  230. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  231. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  232. package/dist/lib.esm/react/solana/index.js +1 -0
  233. package/dist/lib.esm/react/solana/provider.js +150 -0
  234. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  235. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  236. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  237. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  238. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  239. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  240. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  241. package/dist/lib.esm/vue/index.js +5 -2
  242. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  243. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  244. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  245. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  246. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  247. package/dist/lib.esm/vue/solana/constants.js +3 -0
  248. package/dist/lib.esm/vue/solana/index.js +3 -0
  249. package/dist/lib.esm/vue/solana/provider.js +95 -0
  250. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  251. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  252. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  253. package/dist/lib.esm/x402/index.js +170 -0
  254. package/dist/lib.esm/x402/interfaces.js +3 -0
  255. package/dist/lib.esm/x402/react.js +59 -0
  256. package/dist/lib.esm/x402/vue.js +54 -0
  257. package/package.json +78 -53
  258. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  259. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -223
  260. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  261. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  263. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  264. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  265. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  266. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  267. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  268. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -171
  269. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  270. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  271. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  272. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  273. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  274. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  275. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  276. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  279. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  280. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  282. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  283. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  288. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  289. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  290. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  291. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  293. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  295. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  297. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  298. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  300. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  301. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  302. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  303. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  304. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  305. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  306. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  307. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  308. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  309. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  310. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  311. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  312. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  313. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  314. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  315. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  316. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  317. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -177
  318. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  319. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  320. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  321. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  322. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  323. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  324. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  325. package/dist/noModal.umd.min.js +0 -2
  326. package/dist/noModal.umd.min.js.LICENSE.txt +0 -50
@@ -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;
@@ -1,21 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var react = require('react');
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('@web3auth/auth');
10
- require('../../base/errors/index.js');
11
- require('../../base/wallet/index.js');
12
- require('../../base/connector/connectorStatus.js');
13
- var constants = require('../../base/connector/constants.js');
14
- require('jwt-decode');
15
- require('../../base/plugin/errors.js');
16
- var IPlugin = require('../../base/plugin/IPlugin.js');
17
- require('@toruslabs/constants');
18
- require('@toruslabs/http-helpers');
4
+ var useWalletServicesContextValue = require('./useWalletServicesContextValue.js');
19
5
 
20
6
  const WalletServicesContext = react.createContext(null);
21
7
  function WalletServicesContextProvider({
@@ -23,60 +9,7 @@ function WalletServicesContextProvider({
23
9
  context
24
10
  }) {
25
11
  const web3AuthContext = react.useContext(context);
26
- const {
27
- getPlugin,
28
- isInitialized,
29
- isConnected
30
- } = web3AuthContext;
31
- const [ready, setReady] = react.useState(false);
32
- const [connecting, setConnecting] = react.useState(false);
33
- const [walletServicesPlugin, setWalletServicesPlugin] = react.useState(null);
34
- react.useEffect(() => {
35
- if (isInitialized) {
36
- const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
37
- setWalletServicesPlugin(plugin);
38
- }
39
- }, [isInitialized, getPlugin]);
40
- react.useEffect(() => {
41
- if (isConnected) {
42
- const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
43
- setWalletServicesPlugin(plugin);
44
- // when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
45
- if ((plugin === null || plugin === void 0 ? void 0 : plugin.status) === constants.CONNECTOR_STATUS.CONNECTED) setReady(true);
46
- }
47
- }, [isConnected, getPlugin, walletServicesPlugin]);
48
- react.useEffect(() => {
49
- const connectedListener = () => {
50
- setReady(true);
51
- setConnecting(false);
52
- };
53
- const disconnectedListener = () => {
54
- setReady(false);
55
- setConnecting(false);
56
- };
57
- const connectingListener = () => {
58
- setConnecting(true);
59
- };
60
- if (walletServicesPlugin) {
61
- walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
62
- walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
63
- walletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
64
- }
65
- return () => {
66
- if (walletServicesPlugin) {
67
- walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
68
- walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
69
- walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
70
- }
71
- };
72
- }, [walletServicesPlugin]);
73
- const value = react.useMemo(() => {
74
- return {
75
- plugin: walletServicesPlugin,
76
- ready,
77
- connecting
78
- };
79
- }, [walletServicesPlugin, ready, connecting]);
12
+ const value = useWalletServicesContextValue.useWalletServicesContextValue(web3AuthContext);
80
13
  return react.createElement(WalletServicesContext.Provider, {
81
14
  value
82
15
  }, children);