@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,177 +0,0 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
3
-
4
- function createWalletMiddleware({
5
- getAccounts,
6
- getPrivateKey,
7
- getPublicKey,
8
- processEthSignMessage,
9
- processPersonalMessage,
10
- processTransaction,
11
- processSignTransaction,
12
- processTypedMessageV4
13
- }) {
14
- if (!getAccounts) {
15
- throw new Error("opts.getAccounts is required");
16
- }
17
-
18
- //
19
- // utility
20
- //
21
-
22
- /**
23
- * Validates the keyholder address, and returns a normalized (i.e. lowercase)
24
- * copy of it.
25
- *
26
- * an error
27
- */
28
- async function validateAndNormalizeKeyholder(address, req) {
29
- if (typeof address === "string" && address.length > 0) {
30
- // ensure address is included in provided accounts
31
- const accounts = await getAccounts(req);
32
- const normalizedAccounts = accounts.map(_address => _address.toLowerCase());
33
- const normalizedAddress = address.toLowerCase();
34
- if (normalizedAccounts.includes(normalizedAddress)) {
35
- return normalizedAddress;
36
- }
37
- }
38
- throw rpcErrors.invalidParams({
39
- message: `Invalid parameters: must provide an Ethereum address.`
40
- });
41
- }
42
-
43
- //
44
- // account lookups
45
- //
46
-
47
- async function lookupAccounts(req, res) {
48
- res.result = await getAccounts(req);
49
- }
50
-
51
- //
52
- // transaction signatures
53
- //
54
-
55
- async function sendTransaction(req, res) {
56
- if (!processTransaction) {
57
- throw rpcErrors.methodNotSupported();
58
- }
59
- const txParams = req.params[0] || {
60
- from: ""
61
- };
62
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
63
- res.result = await processTransaction(txParams, req);
64
- }
65
- async function signTransaction(req, res) {
66
- if (!processSignTransaction) {
67
- throw rpcErrors.methodNotSupported();
68
- }
69
- const txParams = req.params[0] || {
70
- from: ""
71
- };
72
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
73
- res.result = await processSignTransaction(txParams, req);
74
- }
75
-
76
- //
77
- // message signatures
78
- //
79
-
80
- async function ethSign(req, res) {
81
- if (!processEthSignMessage) {
82
- throw rpcErrors.methodNotSupported();
83
- }
84
- let msgParams = req.params;
85
- const extraParams = req.params[2] || {};
86
- if (Array.isArray(req.params)) {
87
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
88
- const params = req.params;
89
- const address = params[0];
90
- const message = params[1];
91
- msgParams = {
92
- from: address,
93
- data: message
94
- };
95
- }
96
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
97
- res.result = await processEthSignMessage(msgParams, req);
98
- }
99
- async function signTypedDataV4(req, res) {
100
- if (!processTypedMessageV4) {
101
- throw rpcErrors.methodNotSupported();
102
- }
103
- if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
104
- let msgParams = req.params;
105
- if (Array.isArray(req.params)) {
106
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
107
- const params = req.params;
108
- const address = params[0];
109
- const message = params[1];
110
- msgParams = {
111
- from: address,
112
- data: message
113
- };
114
- }
115
- res.result = await processTypedMessageV4(msgParams, req);
116
- }
117
- async function personalSign(req, res) {
118
- if (!processPersonalMessage) {
119
- throw rpcErrors.methodNotSupported();
120
- }
121
- let msgParams = req.params;
122
- const extraParams = req.params[2] || {};
123
- if (Array.isArray(req.params)) {
124
- if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
125
- const params = req.params;
126
- if (typeof params[0] === "object") {
127
- const {
128
- challenge,
129
- address
130
- } = params[0];
131
- msgParams = {
132
- from: address,
133
- data: challenge
134
- };
135
- } else {
136
- const message = params[0];
137
- const address = params[1];
138
- msgParams = {
139
- from: address,
140
- data: message
141
- };
142
- }
143
- }
144
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
145
- res.result = await processPersonalMessage(msgParams, req);
146
- }
147
- async function fetchPrivateKey(req, res) {
148
- if (!getPrivateKey) {
149
- throw rpcErrors.methodNotSupported();
150
- }
151
- res.result = await getPrivateKey(req);
152
- }
153
- async function fetchPublicKey(req, res) {
154
- if (!getPublicKey) {
155
- throw rpcErrors.methodNotSupported();
156
- }
157
- res.result = await getPublicKey(req);
158
- }
159
- return createScaffoldMiddleware({
160
- // account lookups
161
- eth_accounts: createAsyncMiddleware(lookupAccounts),
162
- eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
163
- eth_private_key: createAsyncMiddleware(fetchPrivateKey),
164
- eth_public_key: createAsyncMiddleware(fetchPublicKey),
165
- public_key: createAsyncMiddleware(fetchPublicKey),
166
- private_key: createAsyncMiddleware(fetchPrivateKey),
167
- // tx signatures
168
- eth_sendTransaction: createAsyncMiddleware(sendTransaction),
169
- eth_signTransaction: createAsyncMiddleware(signTransaction),
170
- // message signatures
171
- eth_sign: createAsyncMiddleware(ethSign),
172
- eth_signTypedData_v4: createAsyncMiddleware(signTypedDataV4),
173
- personal_sign: createAsyncMiddleware(personalSign)
174
- });
175
- }
176
-
177
- export { createWalletMiddleware };
@@ -1,47 +0,0 @@
1
- import { JRPCEngine, providerFromEngine } from '@web3auth/auth';
2
- import { createConfigMiddleware } from '../../../rpc/JrpcClient.js';
3
- import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
4
- import { BaseProvider } from '../../../../base-provider/baseProvider.js';
5
- import { WalletLoginError } from '../../../../../base/errors/index.js';
6
-
7
- class BaseInjectedProvider extends BaseProvider {
8
- constructor({
9
- config,
10
- state
11
- }) {
12
- super({
13
- config,
14
- state
15
- });
16
- }
17
- async switchChain(_) {
18
- throw WalletLoginError.unsupportedOperation("Chain switching is not supported by this connector");
19
- }
20
- async setupProvider(injectedProvider, chainId) {
21
- const engine = new JRPCEngine();
22
- const chain = this.getChain(chainId);
23
- const providerHandlers = this.getProviderHandlers(injectedProvider);
24
- const solanaMiddleware = createSolanaMiddleware(providerHandlers);
25
- engine.push(solanaMiddleware);
26
- const configMiddleware = createConfigMiddleware(chain);
27
- engine.push(configMiddleware);
28
- const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
29
- if (injectedProviderProxy) {
30
- engine.push(injectedProviderProxy);
31
- }
32
- const provider = providerFromEngine(engine);
33
- this.updateProviderEngineProxy(provider);
34
- await this.lookupNetwork(injectedProvider, chainId);
35
- }
36
- async lookupNetwork(_injectedProvider, chainId) {
37
- this.update({
38
- chainId
39
- });
40
- return chainId || "";
41
- }
42
- getInjectedProviderProxy(_) {
43
- return undefined;
44
- }
45
- }
46
-
47
- export { BaseInjectedProvider };
@@ -1,43 +0,0 @@
1
- import { bs58 } from '@toruslabs/bs58';
2
- import { rpcErrors } from '@web3auth/auth';
3
-
4
- const getBaseProviderHandlers = injectedProvider => {
5
- const providerHandlers = {
6
- requestAccounts: async () => {
7
- return injectedProvider.publicKey ? [bs58.encode(injectedProvider.publicKey.toBytes())] : [];
8
- },
9
- getPublicKey: async () => {
10
- return injectedProvider.publicKey ? bs58.encode(injectedProvider.publicKey.toBytes()) : "";
11
- },
12
- getAccounts: async () => injectedProvider.publicKey ? [bs58.encode(injectedProvider.publicKey.toBytes())] : [],
13
- getPrivateKey: async () => {
14
- throw rpcErrors.methodNotSupported();
15
- },
16
- getSecretKey: async () => {
17
- throw rpcErrors.methodNotSupported();
18
- },
19
- signTransaction: async req => {
20
- const transaction = await injectedProvider.signTransaction(req.params.message);
21
- return transaction;
22
- },
23
- signMessage: async req => {
24
- const sigData = await injectedProvider.signMessage(req.params.data, req.params.from, req.params.display);
25
- return sigData;
26
- },
27
- signAllTransactions: async req => {
28
- var _req$params, _req$params2;
29
- if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message) || !((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message.length)) {
30
- throw rpcErrors.invalidParams("message");
31
- }
32
- const transaction = await injectedProvider.signAllTransactions(req.params.message);
33
- return transaction;
34
- },
35
- signAndSendTransaction: async req => {
36
- const txRes = await injectedProvider.signAndSendTransaction(req.params.message);
37
- return txRes;
38
- }
39
- };
40
- return providerHandlers;
41
- };
42
-
43
- export { getBaseProviderHandlers };
@@ -1,14 +0,0 @@
1
- const getSolanaChainByChainConfig = chainConfig => {
2
- switch (chainConfig.chainId) {
3
- case "0x65":
4
- return "solana:mainnet";
5
- case "0x66":
6
- return "solana:testnet";
7
- case "0x67":
8
- return "solana:devnet";
9
- default:
10
- return null;
11
- }
12
- };
13
-
14
- export { getSolanaChainByChainConfig };
@@ -1,91 +0,0 @@
1
- import { SolanaSignAndSendTransaction, SolanaSignTransaction, SolanaSignMessage } from '@solana/wallet-standard-features';
2
- import { PublicKey, VersionedTransaction } from '@solana/web3.js';
3
- import { bs58 } from '@toruslabs/bs58';
4
- import { BaseInjectedProvider } from './base/baseInjectedProvider.js';
5
- import { getBaseProviderHandlers } from './base/providerHandlers.js';
6
- import { getSolanaChainByChainConfig } from './utils.js';
7
- import { WalletLoginError } from '../../../../base/errors/index.js';
8
-
9
- class WalletStandardProvider extends BaseInjectedProvider {
10
- getProviderHandlers(wallet) {
11
- const chainIdentifier = getSolanaChainByChainConfig(this.config.chain);
12
- const currentAccount = () => {
13
- const account = wallet === null || wallet === void 0 ? void 0 : wallet.accounts[0];
14
- if (!account) throw WalletLoginError.notConnectedError();
15
- return account;
16
- };
17
-
18
- /**
19
- * Signs a message and returns the signature
20
- * @param message - The message to sign
21
- * @returns The signature of the message encoded in base58
22
- */
23
- const signMessage = async message => {
24
- const account = currentAccount();
25
- const uint8ArrayMessage = new Uint8Array(Buffer.from(message, "utf-8"));
26
- const signature = await wallet.features[SolanaSignMessage].signMessage({
27
- account,
28
- message: uint8ArrayMessage
29
- });
30
- return bs58.encode(signature[0].signature);
31
- };
32
-
33
- /**
34
- * Signs a transaction and returns the signature
35
- * @param transaction - The transaction to sign
36
- * @returns The signature of the transaction encoded in base58
37
- */
38
- const signTransaction = async transaction => {
39
- const account = currentAccount();
40
- const output = await wallet.features[SolanaSignTransaction].signTransaction({
41
- account,
42
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
43
- chain: chainIdentifier
44
- });
45
- return bs58.encode(VersionedTransaction.deserialize(output[0].signedTransaction).signatures[0]);
46
- };
47
-
48
- /**
49
- * Signs multiple transactions and returns the serialized transactions
50
- * @param transactions - The transactions to sign
51
- * @returns The serialized transactions encoded in base64
52
- */
53
- const signAllTransactions = async transactions => {
54
- const account = currentAccount();
55
- return Promise.all(transactions.map(async transaction => {
56
- const output = await wallet.features[SolanaSignTransaction].signTransaction({
57
- account,
58
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
59
- chain: chainIdentifier
60
- });
61
- return Buffer.from(output[0].signedTransaction).toString("base64");
62
- }));
63
- };
64
-
65
- /**
66
- * Signs a transaction and sends it to the network
67
- * @param transaction - The transaction to sign and send
68
- * @returns The signature of the transaction encoded in base58
69
- */
70
- const signAndSendTransaction = async transaction => {
71
- const account = currentAccount();
72
- const output = await wallet.features[SolanaSignAndSendTransaction].signAndSendTransaction({
73
- account,
74
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
75
- chain: chainIdentifier
76
- });
77
- return bs58.encode(output[0].signature);
78
- };
79
- return getBaseProviderHandlers({
80
- get publicKey() {
81
- return new PublicKey(currentAccount().publicKey);
82
- },
83
- signMessage,
84
- signTransaction,
85
- signAllTransactions,
86
- signAndSendTransaction
87
- });
88
- }
89
- }
90
-
91
- export { WalletStandardProvider };
@@ -1,42 +0,0 @@
1
- import { createFetchMiddleware } from '@toruslabs/base-controllers';
2
- import { mergeMiddleware } from '@web3auth/auth';
3
-
4
- function createSolanaChainIdMiddleware(chainId) {
5
- return (req, res, next, end) => {
6
- if (req.method === "solana_chainId") {
7
- res.result = chainId;
8
- return end();
9
- }
10
- return next();
11
- };
12
- }
13
- function createSolanaProviderConfigMiddleware(providerConfig) {
14
- return (req, res, next, end) => {
15
- if (req.method === "solana_provider_config") {
16
- res.result = providerConfig;
17
- return end();
18
- }
19
- return next();
20
- };
21
- }
22
- function createConfigMiddleware(providerConfig) {
23
- const {
24
- chainId
25
- } = providerConfig;
26
- return mergeMiddleware([createSolanaChainIdMiddleware(chainId), createSolanaProviderConfigMiddleware(providerConfig)]);
27
- }
28
- function createSolanaJsonRpcClient(providerConfig) {
29
- const {
30
- rpcTarget
31
- } = providerConfig;
32
- const fetchMiddleware = createFetchMiddleware({
33
- rpcTarget
34
- });
35
- const networkMiddleware = mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
36
- return {
37
- networkMiddleware,
38
- fetchMiddleware
39
- };
40
- }
41
-
42
- export { createConfigMiddleware, createSolanaChainIdMiddleware, createSolanaJsonRpcClient, createSolanaProviderConfigMiddleware };
@@ -1,89 +0,0 @@
1
- import { createAsyncMiddleware, mergeMiddleware } from '@web3auth/auth';
2
- import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
3
-
4
- function createGetAccountsMiddleware({
5
- getAccounts
6
- }) {
7
- return createAsyncMiddleware(async (request, response, next) => {
8
- const {
9
- method
10
- } = request;
11
- if (method !== SOLANA_METHOD_TYPES.GET_ACCOUNTS) return next();
12
- if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
13
- // This calls from the prefs controller
14
- const accounts = await getAccounts(request);
15
- response.result = accounts;
16
- return undefined;
17
- });
18
- }
19
- function createGetPublicKeyMiddleware({
20
- getPublicKey
21
- }) {
22
- return createAsyncMiddleware(async (request, response, next) => {
23
- const {
24
- method
25
- } = request;
26
- if (method !== "getPublicKey") return next();
27
- if (!getPublicKey) throw new Error("WalletMiddleware - opts.getPublicKey not provided");
28
- const publicKey = await getPublicKey(request);
29
- response.result = publicKey;
30
- return undefined;
31
- });
32
- }
33
- function createRequestAccountsMiddleware({
34
- requestAccounts
35
- }) {
36
- return createAsyncMiddleware(async (request, response, next) => {
37
- const {
38
- method
39
- } = request;
40
- if (method !== SOLANA_METHOD_TYPES.SOLANA_REQUEST_ACCOUNTS) return next();
41
- if (!requestAccounts) throw new Error("WalletMiddleware - opts.requestAccounts not provided");
42
- // This calls the UI login function
43
- const accounts = await requestAccounts(request);
44
- response.result = accounts;
45
- return undefined;
46
- });
47
- }
48
- function createGenericJRPCMiddleware(targetMethod, handler) {
49
- return createAsyncMiddleware(async (request, response, next) => {
50
- const {
51
- method
52
- } = request;
53
- if (method !== targetMethod) return next();
54
- if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
55
- const result = await handler(request);
56
- response.result = result;
57
- return undefined;
58
- });
59
- }
60
- function createSolanaMiddleware(providerHandlers) {
61
- const {
62
- getAccounts,
63
- requestAccounts,
64
- signTransaction,
65
- signAndSendTransaction,
66
- signAllTransactions,
67
- signMessage,
68
- getPrivateKey,
69
- getSecretKey,
70
- getPublicKey
71
- } = providerHandlers;
72
- return mergeMiddleware([createRequestAccountsMiddleware({
73
- requestAccounts
74
- }), createGetAccountsMiddleware({
75
- getAccounts
76
- }), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SEND_TRANSACTION, signAndSendTransaction), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_ALL_TRANSACTIONS, signAllTransactions), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.SOLANA_PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware(SOLANA_METHOD_TYPES.PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware("public_key", getPublicKey), createGenericJRPCMiddleware("solanaPublicKey", getPublicKey), createGenericJRPCMiddleware("solanaSecretKey", getSecretKey)]);
77
- }
78
- function createSolanaChainSwitchMiddleware({
79
- switchSolanaChain
80
- }) {
81
- return mergeMiddleware([createGenericJRPCMiddleware("switchSolanaChain", switchSolanaChain)]);
82
- }
83
- function createSolanaAccountMiddleware({
84
- updatePrivatekey
85
- }) {
86
- return mergeMiddleware([createGenericJRPCMiddleware("updateAccount", updatePrivatekey)]);
87
- }
88
-
89
- export { createGenericJRPCMiddleware, createGetAccountsMiddleware, createGetPublicKeyMiddleware, createRequestAccountsMiddleware, createSolanaAccountMiddleware, createSolanaChainSwitchMiddleware, createSolanaMiddleware };
@@ -1,92 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { VersionedTransaction } from '@solana/web3.js';
3
- import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
4
-
5
- class SolanaWallet {
6
- constructor(provider) {
7
- _defineProperty(this, "provider", void 0);
8
- this.provider = provider;
9
- }
10
- async requestAccounts() {
11
- const accounts = await this.provider.request({
12
- method: SOLANA_METHOD_TYPES.SOLANA_REQUEST_ACCOUNTS
13
- });
14
- return accounts;
15
- }
16
- async getAccounts() {
17
- const accounts = await this.provider.request({
18
- method: SOLANA_METHOD_TYPES.GET_ACCOUNTS
19
- });
20
- return accounts;
21
- }
22
- async signAndSendTransaction(transaction) {
23
- const signature = await this.provider.request({
24
- method: SOLANA_METHOD_TYPES.SEND_TRANSACTION,
25
- params: {
26
- message: this.serializeTransaction(transaction)
27
- }
28
- });
29
- return signature;
30
- }
31
-
32
- /**
33
- * Signs a transaction and returns the signature
34
- * @param transaction - The transaction to sign
35
- * @returns The signature of the transaction encoded in base58
36
- */
37
- async signTransaction(transaction) {
38
- const signature = await this.provider.request({
39
- method: SOLANA_METHOD_TYPES.SIGN_TRANSACTION,
40
- params: {
41
- message: this.serializeTransaction(transaction)
42
- }
43
- });
44
- return signature;
45
- }
46
-
47
- /**
48
- * Signs multiple transactions and returns the serialized transactions
49
- * @param transactions - The transactions to sign
50
- * @returns The serialized transactions encoded in base64
51
- */
52
- async signAllTransactions(transactions) {
53
- const serializedTransactions = transactions.map(tx => this.serializeTransaction(tx));
54
- const signedTransactions = await this.provider.request({
55
- method: SOLANA_METHOD_TYPES.SIGN_ALL_TRANSACTIONS,
56
- params: {
57
- message: serializedTransactions
58
- }
59
- });
60
- return signedTransactions;
61
- }
62
-
63
- /**
64
- * Signs a message and returns the signature
65
- * @param message - The message to sign
66
- * @returns The signature of the message encoded in base58
67
- */
68
- async signMessage(message, pubKey) {
69
- const response = await this.provider.request({
70
- method: SOLANA_METHOD_TYPES.SIGN_MESSAGE,
71
- params: {
72
- data: message,
73
- from: pubKey
74
- }
75
- });
76
- return response;
77
- }
78
- async request(args) {
79
- const result = await this.provider.request(args);
80
- return result;
81
- }
82
- serializeTransaction(transaction) {
83
- if (transaction instanceof VersionedTransaction) {
84
- return Buffer.from(transaction.serialize()).toString("base64");
85
- }
86
- return Buffer.from(transaction.serialize({
87
- requireAllSignatures: false
88
- })).toString("base64");
89
- }
90
- }
91
-
92
- export { SolanaWallet };