@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
@@ -1,46 +0,0 @@
1
- import { GAS_ESTIMATE_TYPES, TRANSACTION_TYPES } from "./constants";
2
- export type LegacyGasData = {
3
- low: string;
4
- medium: string;
5
- high: string;
6
- };
7
- export type EIP1559GasDataItem = {
8
- suggestedMaxPriorityFeePerGas: string;
9
- suggestedMaxFeePerGas: string;
10
- minWaitTimeEstimate: number;
11
- maxWaitTimeEstimate: number;
12
- };
13
- export type EthereumGasFeeEstimates = {
14
- estimatedBaseFee: string;
15
- low: EIP1559GasDataItem;
16
- medium: EIP1559GasDataItem;
17
- high: EIP1559GasDataItem;
18
- };
19
- export type EIP1159GasData = EthereumGasFeeEstimates & {
20
- networkCongestion: number;
21
- latestPriorityFeeRange: string[];
22
- historicalPriorityFeeRange: string[];
23
- historicalBaseFeeRange: string[];
24
- priorityFeeTrend: string;
25
- baseFeeTrend: string;
26
- };
27
- export type FallbackGasData = {
28
- gasPrice: string;
29
- };
30
- export type TxType = (typeof TRANSACTION_TYPES)[keyof typeof TRANSACTION_TYPES];
31
- export type GasType = (typeof GAS_ESTIMATE_TYPES)[keyof typeof GAS_ESTIMATE_TYPES];
32
- export type GasData = {
33
- gasEstimateType: string;
34
- gasFeeEstimates: LegacyGasData | EthereumGasFeeEstimates | FallbackGasData;
35
- };
36
- export interface FeeHistoryResponse {
37
- baseFeePerGas: string[];
38
- gasUsedRatio: string[];
39
- oldestBlock: string;
40
- reward: string[][];
41
- }
42
- export declare enum SignTypedDataVersion {
43
- V1 = "V1",
44
- V3 = "V3",
45
- V4 = "V4"
46
- }
@@ -1,11 +0,0 @@
1
- import { TypedMessageParams } from "../../../rpc/interfaces";
2
- import { EthereumGasFeeEstimates, LegacyGasData } from "./interfaces";
3
- export declare function normalizeGWEIDecimalNumbers(n: string | BigNumber): string;
4
- export declare function fetchEip1159GasEstimates(url: string): Promise<EthereumGasFeeEstimates>;
5
- /**
6
- * Hit the legacy MetaSwaps gasPrices estimate api and return the low, medium
7
- * high values from that API.
8
- */
9
- export declare function fetchLegacyGasPriceEstimates(url: string): Promise<LegacyGasData>;
10
- export declare function validateAddress(address: string, propertyName: string): void;
11
- export declare function validateTypedSignMessageDataV4(messageData: TypedMessageParams, currentChainId: string): Promise<void>;
@@ -1 +0,0 @@
1
- export * from "./TransactionFormatter";
@@ -1,5 +0,0 @@
1
- import BN from "bn.js";
2
- export declare function bnLessThan(a: string | number, b: string | number): boolean;
3
- export declare function bnToHex(inputBn: BN): `0x${string}`;
4
- export declare function hexToBn(inputHex: string): BN;
5
- export declare function BnMultiplyByFraction(targetBN: BN, numerator: number | string, denominator: number | string): BN;
@@ -1,3 +0,0 @@
1
- import { JRPCMiddleware } from "@web3auth/auth";
2
- import type { WalletMiddlewareOptions } from "./interfaces";
3
- export declare function createWalletMiddleware({ getAccounts, getPrivateKey, getPublicKey, processEthSignMessage, processPersonalMessage, processTransaction, processSignTransaction, processTypedMessageV4, }: WalletMiddlewareOptions): JRPCMiddleware<string, unknown>;
@@ -1,4 +0,0 @@
1
- export * from "./interface";
2
- export * from "./providers";
3
- export * from "./rpc";
4
- export * from "./solanaWallet";
@@ -1,22 +0,0 @@
1
- import type { Transaction, VersionedTransaction } from "@solana/web3.js";
2
- import { RequestArguments } from "../../base";
3
- export type TransactionOrVersionedTransaction = Transaction | VersionedTransaction;
4
- export interface ISolanaWallet {
5
- publicKey?: {
6
- toBytes(): Uint8Array;
7
- };
8
- signAndSendTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
9
- signTransaction?<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
10
- signAllTransactions?<T extends TransactionOrVersionedTransaction>(transactions: T[]): Promise<string[]>;
11
- signMessage(message: string, pubKey: string): Promise<string>;
12
- request<T, U>(args: RequestArguments<T>): Promise<U>;
13
- }
14
- export interface IBaseWalletProvider {
15
- publicKey?: {
16
- toBytes(): Uint8Array;
17
- };
18
- signMessage?(message: string, pubKey: string, display?: "hex" | "utf8"): Promise<string>;
19
- signTransaction?(transaction: string): Promise<string>;
20
- signAllTransactions?(transactions: string[]): Promise<string[]>;
21
- signAndSendTransaction?(transaction: string): Promise<string>;
22
- }
@@ -1 +0,0 @@
1
- export * from "./injectedProviders";
@@ -1,16 +0,0 @@
1
- import { JRPCMiddleware } from "@web3auth/auth";
2
- import { BaseProvider, BaseProviderConfig, BaseProviderState } from "../../../../../providers/base-provider";
3
- import { ISolanaProviderHandlers } from "../../../rpc";
4
- export declare abstract class BaseInjectedProvider<P> extends BaseProvider<BaseProviderConfig, BaseProviderState, P> {
5
- constructor({ config, state }: {
6
- config: BaseProviderConfig;
7
- state?: BaseProviderState;
8
- });
9
- switchChain(_: {
10
- chainId: string;
11
- }): Promise<void>;
12
- setupProvider(injectedProvider: P, chainId: string): Promise<void>;
13
- protected lookupNetwork(_injectedProvider: P, chainId: string): Promise<string>;
14
- protected getInjectedProviderProxy(_: P): JRPCMiddleware<unknown, unknown>;
15
- protected abstract getProviderHandlers(injectedProvider: P): ISolanaProviderHandlers;
16
- }
@@ -1,3 +0,0 @@
1
- import { IBaseWalletProvider } from "../../../interface";
2
- import { ISolanaProviderHandlers } from "../../../rpc";
3
- export declare const getBaseProviderHandlers: (injectedProvider: IBaseWalletProvider) => ISolanaProviderHandlers;
@@ -1,2 +0,0 @@
1
- export * from "./utils";
2
- export * from "./walletStandardProvider";
@@ -1,3 +0,0 @@
1
- import { IdentifierString } from "@wallet-standard/base";
2
- import { CustomChainConfig } from "../../../../base";
3
- export declare const getSolanaChainByChainConfig: (chainConfig: CustomChainConfig) => IdentifierString;
@@ -1,9 +0,0 @@
1
- import { type SolanaSignAndSendTransactionFeature, type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from "@solana/wallet-standard-features";
2
- import { type WalletWithFeatures } from "@wallet-standard/base";
3
- import { type StandardConnectFeature, type StandardDisconnectFeature, type StandardEventsFeature } from "@wallet-standard/features";
4
- import { type ISolanaProviderHandlers } from "../../rpc";
5
- import { BaseInjectedProvider } from "./base/baseInjectedProvider";
6
- export type WalletStandard = WalletWithFeatures<StandardConnectFeature & StandardEventsFeature & StandardDisconnectFeature & SolanaSignAndSendTransactionFeature & SolanaSignMessageFeature & SolanaSignTransactionFeature>;
7
- export declare class WalletStandardProvider extends BaseInjectedProvider<WalletStandard> {
8
- protected getProviderHandlers(wallet: WalletStandard): ISolanaProviderHandlers;
9
- }
@@ -1,9 +0,0 @@
1
- import { Block, JRPCMiddleware } from "@web3auth/auth";
2
- import { CustomChainConfig } from "../../../base";
3
- export declare function createSolanaChainIdMiddleware(chainId: string): JRPCMiddleware<unknown, string>;
4
- export declare function createSolanaProviderConfigMiddleware(providerConfig: CustomChainConfig): JRPCMiddleware<unknown, CustomChainConfig>;
5
- export declare function createConfigMiddleware(providerConfig: CustomChainConfig): JRPCMiddleware<unknown, unknown>;
6
- export declare function createSolanaJsonRpcClient(providerConfig: CustomChainConfig): {
7
- networkMiddleware: JRPCMiddleware<unknown, unknown>;
8
- fetchMiddleware: JRPCMiddleware<string[], Block>;
9
- };
@@ -1,3 +0,0 @@
1
- export * from "./interfaces";
2
- export * from "./JrpcClient";
3
- export * from "./solanaRpcMiddlewares";
@@ -1,27 +0,0 @@
1
- import { JRPCRequest } from "@web3auth/auth";
2
- export interface ISolanaChainSwitchHandlers {
3
- switchSolanaChain: (req: JRPCRequest<{
4
- chainId: string;
5
- }>) => Promise<void>;
6
- }
7
- export interface ISolanaProviderHandlers {
8
- requestAccounts: (req: JRPCRequest<unknown>) => Promise<string[]>;
9
- getAccounts: (req: JRPCRequest<unknown>) => Promise<string[]>;
10
- getPublicKey: (req: JRPCRequest<unknown>) => Promise<string>;
11
- getPrivateKey: (req: JRPCRequest<unknown>) => Promise<string>;
12
- getSecretKey: (req: JRPCRequest<unknown>) => Promise<string>;
13
- signMessage: (req: JRPCRequest<{
14
- data: string;
15
- from: string;
16
- display?: string;
17
- }>) => Promise<string>;
18
- signTransaction: (req: JRPCRequest<{
19
- message: string;
20
- }>) => Promise<string>;
21
- signAllTransactions: (req: JRPCRequest<{
22
- message: string[];
23
- }>) => Promise<string[]>;
24
- signAndSendTransaction: (req: JRPCRequest<{
25
- message: string;
26
- }>) => Promise<string>;
27
- }
@@ -1,20 +0,0 @@
1
- import { JRPCMiddleware, JRPCRequest } from "@web3auth/auth";
2
- import { ISolanaChainSwitchHandlers, ISolanaProviderHandlers } from "./interfaces";
3
- export declare function createGetAccountsMiddleware({ getAccounts, }: {
4
- getAccounts: ISolanaProviderHandlers["getAccounts"];
5
- }): JRPCMiddleware<unknown, unknown>;
6
- export declare function createGetPublicKeyMiddleware({ getPublicKey, }: {
7
- getPublicKey: ISolanaProviderHandlers["getPublicKey"];
8
- }): JRPCMiddleware<unknown, unknown>;
9
- export declare function createRequestAccountsMiddleware({ requestAccounts, }: {
10
- requestAccounts: ISolanaProviderHandlers["requestAccounts"];
11
- }): JRPCMiddleware<unknown, unknown>;
12
- export declare function createGenericJRPCMiddleware<T, U>(targetMethod: string, handler: (req: JRPCRequest<T>) => Promise<U>): JRPCMiddleware<T, U>;
13
- export declare function createSolanaMiddleware(providerHandlers: ISolanaProviderHandlers): JRPCMiddleware<unknown, unknown>;
14
- export declare function createSolanaChainSwitchMiddleware({ switchSolanaChain }: ISolanaChainSwitchHandlers): JRPCMiddleware<unknown, unknown>;
15
- export interface ISolanaAccountHandlers {
16
- updatePrivatekey: (req: JRPCRequest<{
17
- privateKey: string;
18
- }>) => Promise<void>;
19
- }
20
- export declare function createSolanaAccountMiddleware({ updatePrivatekey }: ISolanaAccountHandlers): JRPCMiddleware<unknown, unknown>;
@@ -1,29 +0,0 @@
1
- import { IProvider, RequestArguments } from "../../base";
2
- import { ISolanaWallet, type TransactionOrVersionedTransaction } from "./interface";
3
- export declare class SolanaWallet implements ISolanaWallet {
4
- provider: IProvider;
5
- constructor(provider: IProvider);
6
- requestAccounts(): Promise<string[]>;
7
- getAccounts(): Promise<string[]>;
8
- signAndSendTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
9
- /**
10
- * Signs a transaction and returns the signature
11
- * @param transaction - The transaction to sign
12
- * @returns The signature of the transaction encoded in base58
13
- */
14
- signTransaction<T extends TransactionOrVersionedTransaction>(transaction: T): Promise<string>;
15
- /**
16
- * Signs multiple transactions and returns the serialized transactions
17
- * @param transactions - The transactions to sign
18
- * @returns The serialized transactions encoded in base64
19
- */
20
- signAllTransactions<T extends TransactionOrVersionedTransaction>(transactions: T[]): Promise<string[]>;
21
- /**
22
- * Signs a message and returns the signature
23
- * @param message - The message to sign
24
- * @returns The signature of the message encoded in base58
25
- */
26
- signMessage(message: string, pubKey: string): Promise<string>;
27
- request<T, U>(args: RequestArguments<T>): Promise<U>;
28
- private serializeTransaction;
29
- }
@@ -1 +0,0 @@
1
- export { EthereumSigningProvider } from './providers/signingProviders/EthereumSigningProvider.js';
@@ -1,206 +0,0 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import { isHexString } from '@ethereumjs/util';
4
- import { providerErrors, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
5
- import { createEthAccountMiddleware } from '../../rpc/ethRpcMiddlewares.js';
6
- import { getProviderHandlers } from './signingUtils.js';
7
- import { TransactionFormatter } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
8
- import { BaseProvider } from '../../../base-provider/baseProvider.js';
9
- import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
10
- import { WalletInitializationError } from '../../../../base/errors/index.js';
11
- import { createEthMiddleware, createEthChainSwitchMiddleware } from '../../../ethereum-provider/rpc/ethRpcMiddlewares.js';
12
- import { createEthJsonRpcClient } from '../../../ethereum-provider/rpc/jrpcClient.js';
13
-
14
- var _EthereumSigningProvider;
15
- class EthereumSigningProvider extends BaseProvider {
16
- constructor({
17
- config,
18
- state
19
- }) {
20
- super({
21
- config: {
22
- chain: _objectSpread(_objectSpread({}, config.chain), {}, {
23
- chainNamespace: CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
24
- }),
25
- chains: config.chains
26
- },
27
- state
28
- });
29
- _defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.EIP155);
30
- }
31
- async enable() {
32
- if (!this.state.signMethods) throw providerErrors.custom({
33
- message: "signMethods are not found in state, plz pass it in constructor state param",
34
- code: 4902
35
- });
36
- await this.setupProvider(this.state.signMethods, this.chainId);
37
- return this._providerEngineProxy.request({
38
- method: "eth_accounts"
39
- });
40
- }
41
- async setupProvider(params, chainId) {
42
- const {
43
- sign,
44
- getPublic
45
- } = params;
46
- const chain = this.getChain(chainId);
47
- const {
48
- chainNamespace
49
- } = chain;
50
- if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
51
- const txFormatter = new TransactionFormatter({
52
- getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
53
- });
54
- const providerHandlers = getProviderHandlers({
55
- txFormatter,
56
- sign,
57
- getPublic,
58
- getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
59
- });
60
- const ethMiddleware = createEthMiddleware(providerHandlers);
61
- const chainSwitchMiddleware = this.getChainSwitchMiddleware();
62
- const engine = new JRPCEngine();
63
- // Not a partial anymore because of checks in ctor
64
- const {
65
- networkMiddleware
66
- } = createEthJsonRpcClient(chain);
67
- engine.push(ethMiddleware);
68
- engine.push(chainSwitchMiddleware);
69
- engine.push(this.getAccountMiddleware());
70
- engine.push(networkMiddleware);
71
- const provider = providerFromEngine(engine);
72
- this.updateProviderEngineProxy(provider);
73
- await txFormatter.init();
74
- await this.lookupNetwork(params, chainId);
75
- this.state.signMethods = {
76
- sign,
77
- getPublic
78
- };
79
- this.emit("chainChanged", chainId);
80
- this.emit("connect", {
81
- chainId
82
- });
83
- this.update({
84
- chainId
85
- });
86
- }
87
- async updateAccount(params) {
88
- if (!this._providerEngineProxy) throw providerErrors.custom({
89
- message: "Provider is not initialized",
90
- code: 4902
91
- });
92
- const currentSignMethods = this.state.signMethods;
93
- if (!currentSignMethods) {
94
- throw providerErrors.custom({
95
- message: "signing methods are unavailable ",
96
- code: 4092
97
- });
98
- }
99
- const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
100
- const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
101
- if (currentPubKey !== updatePubKey) {
102
- await this.setupProvider(params.signMethods, this.chainId);
103
- const accounts = await this._providerEngineProxy.request({
104
- method: "eth_accounts"
105
- });
106
- this.emit("accountsChanged", accounts);
107
- }
108
- }
109
- async switchChain(params) {
110
- if (!this._providerEngineProxy) throw providerErrors.custom({
111
- message: "Provider is not initialized",
112
- code: 4902
113
- });
114
- if (!this.state.signMethods) {
115
- throw providerErrors.custom({
116
- message: "sign methods are undefined",
117
- code: 4902
118
- });
119
- }
120
- if (params.chainId === this.chainId) {
121
- return;
122
- }
123
- this.update({
124
- chainId: "loading"
125
- });
126
- await this.setupProvider(this.state.signMethods, params.chainId);
127
- }
128
- async addChain(chainConfig) {
129
- if (!this._providerEngineProxy) throw providerErrors.custom({
130
- message: "Provider is not initialized",
131
- code: 4902
132
- });
133
- if (!this.state.signMethods) {
134
- throw providerErrors.custom({
135
- message: "sign methods are undefined",
136
- code: 4902
137
- });
138
- }
139
- // find existing chain config with the same chainId
140
- const existingChain = this.config.chains.find(chain => chain.chainId === chainConfig.chainId);
141
- if (existingChain) {
142
- return;
143
- }
144
- // add the chain config to the config
145
- this.config.chains.push({
146
- chainId: chainConfig.chainId,
147
- displayName: chainConfig.chainName,
148
- rpcTarget: chainConfig.rpcUrls[0],
149
- chainNamespace: CHAIN_NAMESPACES.EIP155,
150
- blockExplorerUrl: chainConfig.blockExplorerUrls[0],
151
- logo: chainConfig.iconUrls[0],
152
- tickerName: chainConfig.nativeCurrency.name,
153
- ticker: chainConfig.nativeCurrency.symbol,
154
- decimals: chainConfig.nativeCurrency.decimals
155
- });
156
- }
157
- async lookupNetwork(_, chainId) {
158
- if (!this._providerEngineProxy) throw providerErrors.custom({
159
- message: "Provider is not initialized",
160
- code: 4902
161
- });
162
- if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
163
- const network = await this._providerEngineProxy.request({
164
- method: "net_version",
165
- params: []
166
- });
167
- const finalNetwork = isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
168
- if (parseInt(chainId, 16) !== finalNetwork) throw providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
169
- return network;
170
- }
171
- getChainSwitchMiddleware() {
172
- const chainSwitchHandlers = {
173
- switchChain: async params => {
174
- const {
175
- chainId
176
- } = params;
177
- await this.switchChain({
178
- chainId
179
- });
180
- },
181
- addChain: async params => {
182
- await this.addChain(params);
183
- }
184
- };
185
- const chainSwitchMiddleware = createEthChainSwitchMiddleware(chainSwitchHandlers);
186
- return chainSwitchMiddleware;
187
- }
188
- getAccountMiddleware() {
189
- const accountHandlers = {
190
- };
191
- return createEthAccountMiddleware(accountHandlers);
192
- }
193
- }
194
- _EthereumSigningProvider = EthereumSigningProvider;
195
- _defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
196
- const providerFactory = new _EthereumSigningProvider({
197
- config: {
198
- chain: params.chain,
199
- chains: params.chains
200
- }
201
- });
202
- await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
203
- return providerFactory;
204
- });
205
-
206
- export { EthereumSigningProvider };
@@ -1,163 +0,0 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import { publicToAddress, toBytes, isHexString, stripHexPrefix, intToBytes } from '@ethereumjs/util';
3
- import { concatSig } from '@toruslabs/base-controllers';
4
- import { providerErrors } from '@web3auth/auth';
5
- import { hashMessage, Signature } from 'ethers';
6
- import { validateTypedData, hexToBytes, hashTypedData } from 'viem';
7
- import { validateTypedSignMessageDataV4 } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js';
8
- import { SignTypedDataVersion } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
9
- import { log } from '../../../../base/loglevel.js';
10
-
11
- async function signTx(txParams, sign, txFormatter) {
12
- const {
13
- Transaction
14
- } = await import('ethers');
15
- const finalTxParams = await txFormatter.formatTransaction(txParams);
16
- const ethTx = Transaction.from(_objectSpread(_objectSpread({}, finalTxParams), {}, {
17
- from: undefined // from is already calculated inside Transaction.from and is not allowed to be passed in
18
- }));
19
- const msgHash = stripHexPrefix(ethTx.unsignedHash);
20
- const vrs = await sign(Buffer.from(msgHash, "hex"));
21
- let {
22
- v
23
- } = vrs;
24
- const {
25
- r,
26
- s
27
- } = vrs;
28
-
29
- // mpc-core-kit workaround (revert back to 0/1)
30
- if (v > 1) {
31
- v = v - 27;
32
- }
33
-
34
- // addSignature will handle the v value
35
- const tx = ethTx;
36
- tx.signature = Signature.from({
37
- v,
38
- r: `0x${r.toString("hex")}`,
39
- s: `0x${s.toString("hex")}`
40
- });
41
- return tx.serialized;
42
- }
43
- async function signMessage(sign, data) {
44
- const message = stripHexPrefix(data);
45
- const msgSig = await sign(Buffer.from(message, "hex"));
46
- let modifiedV = msgSig.v;
47
- if (modifiedV <= 1) {
48
- modifiedV = modifiedV + 27;
49
- }
50
- const rawMsgSig = concatSig(Buffer.from(intToBytes(modifiedV)), msgSig.r, msgSig.s);
51
- return rawMsgSig;
52
- }
53
- async function personalSign(sign, data) {
54
- if (data === null || data === undefined) {
55
- throw new Error("Missing data parameter");
56
- }
57
- // we need to check if the data is hex or not
58
- // For historical reasons, you must submit the message to sign in hex-encoded UTF-8.
59
- // https://docs.metamask.io/wallet/how-to/sign-data/#use-personal_sign
60
- const message = isHexString(data) ? Buffer.from(stripHexPrefix(data), "hex") : Buffer.from(data);
61
- const msgHash = hashMessage(message);
62
- const prefix = Buffer.from(`\u0019Ethereum Signed Message:\n${message.length}`, "utf-8");
63
- const sig = await sign(Buffer.from(msgHash.slice(2), "hex"), Buffer.concat([prefix, message]));
64
- let modifiedV = sig.v;
65
- if (modifiedV <= 1) {
66
- modifiedV = modifiedV + 27;
67
- }
68
- const serialized = concatSig(Buffer.from(toBytes(modifiedV)), sig.r, sig.s);
69
- return serialized;
70
- }
71
- function validateVersion(version, allowedVersions) {
72
- if (!Object.keys(SignTypedDataVersion).includes(version)) {
73
- throw new Error(`Invalid version: '${version}'`);
74
- }
75
- }
76
- async function signTypedData(sign, data, version) {
77
- validateVersion(version); // Note: this is intentional;
78
- if (data === null || data === undefined) {
79
- throw new Error("Missing data parameter");
80
- }
81
- const message = typeof data === "string" ? JSON.parse(data) : data;
82
- validateTypedData(message);
83
- const {
84
- v,
85
- r,
86
- s
87
- } = await sign(Buffer.from(hexToBytes(hashTypedData(message))));
88
- let modifiedV = v;
89
- if (modifiedV <= 1) {
90
- modifiedV = modifiedV + 27;
91
- }
92
- return concatSig(Buffer.from(toBytes(modifiedV)), r, s);
93
- }
94
- function getProviderHandlers({
95
- txFormatter,
96
- sign,
97
- getPublic,
98
- getProviderEngineProxy
99
- }) {
100
- return {
101
- getAccounts: async _ => {
102
- const pubKey = await getPublic();
103
- return [`0x${Buffer.from(publicToAddress(pubKey)).toString("hex")}`];
104
- },
105
- getPrivateKey: async _ => {
106
- throw providerErrors.custom({
107
- message: "MPC Provider cannot return private key",
108
- code: 4902
109
- });
110
- },
111
- getPublicKey: async _ => {
112
- const pubKey = await getPublic();
113
- return `0x${pubKey.toString("hex")}`;
114
- },
115
- processTransaction: async (txParams, _) => {
116
- const providerEngineProxy = getProviderEngineProxy();
117
- if (!providerEngineProxy) throw providerErrors.custom({
118
- message: "Provider is not initialized",
119
- code: 4902
120
- });
121
- const serializedTxn = await signTx(txParams, sign, txFormatter);
122
- const txHash = await providerEngineProxy.request({
123
- method: "eth_sendRawTransaction",
124
- params: [serializedTxn]
125
- });
126
- return txHash;
127
- },
128
- processSignTransaction: async (txParams, _) => {
129
- const providerEngineProxy = getProviderEngineProxy();
130
- if (!providerEngineProxy) throw providerErrors.custom({
131
- message: "Provider is not initialized",
132
- code: 4902
133
- });
134
- const serializedTxn = await signTx(txParams, sign, txFormatter);
135
- return serializedTxn;
136
- },
137
- processEthSignMessage: async (msgParams, _) => {
138
- const rawMessageSig = signMessage(sign, msgParams.data);
139
- return rawMessageSig;
140
- },
141
- processPersonalMessage: async (msgParams, _) => {
142
- const sig = personalSign(sign, msgParams.data);
143
- return sig;
144
- },
145
- processTypedMessageV4: async (msgParams, _) => {
146
- log.debug("processTypedMessageV4", msgParams);
147
- const providerEngineProxy = getProviderEngineProxy();
148
- if (!providerEngineProxy) throw providerErrors.custom({
149
- message: "Provider is not initialized",
150
- code: 4902
151
- });
152
- const chainId = await providerEngineProxy.request({
153
- method: "eth_chainId"
154
- });
155
- await validateTypedSignMessageDataV4(msgParams, chainId);
156
- const data = typeof msgParams.data === "string" ? JSON.parse(msgParams.data) : msgParams.data;
157
- const sig = signTypedData(sign, data, SignTypedDataVersion.V4);
158
- return sig;
159
- }
160
- };
161
- }
162
-
163
- export { getProviderHandlers };
@@ -1,20 +0,0 @@
1
- import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
2
-
3
- // #region account middlewares
4
- function createEthAccountMiddleware({
5
- updatePrivatekey
6
- }) {
7
- async function updateAccount(req, res) {
8
- var _req$params;
9
- const accountParams = (_req$params = req.params) !== null && _req$params !== void 0 && _req$params.length ? req.params[0] : undefined;
10
- if (!(accountParams !== null && accountParams !== void 0 && accountParams.privateKey)) throw rpcErrors.invalidParams("Missing privateKey");
11
- res.result = await updatePrivatekey(accountParams);
12
- }
13
- return createScaffoldMiddleware({
14
- wallet_updateAccount: createAsyncMiddleware(updateAccount)
15
- });
16
- }
17
-
18
- // #endregion account middlewares
19
-
20
- export { createEthAccountMiddleware };