@web3auth/no-modal 10.15.0 → 11.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  2. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  3. package/dist/lib.cjs/base/connector/constants.js +4 -2
  4. package/dist/lib.cjs/base/connector/utils.js +0 -21
  5. package/dist/lib.cjs/base/constants.js +4 -0
  6. package/dist/lib.cjs/base/cookie.js +6 -20
  7. package/dist/lib.cjs/base/errors/index.js +36 -12
  8. package/dist/lib.cjs/base/utils.js +10 -11
  9. package/dist/lib.cjs/base/wallet/index.js +7 -0
  10. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  11. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
  12. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  13. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
  14. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
  15. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  16. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  17. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  18. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
  19. package/dist/lib.cjs/connectors/utils.js +8 -2
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +36 -71
  26. package/dist/lib.cjs/noModal.js +223 -133
  27. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  31. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  32. package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
  33. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  34. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  35. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  36. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  37. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  38. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  39. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  41. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  42. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  43. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  44. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  45. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  46. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  47. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
  48. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  49. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  50. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  51. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  52. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  53. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  54. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  55. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  57. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  58. package/dist/lib.cjs/react/index.js +10 -2
  59. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  60. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  61. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  62. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  63. package/dist/lib.cjs/react/solana/index.js +2 -0
  64. package/dist/lib.cjs/react/solana/provider.js +167 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
  67. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  68. package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
  69. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
  70. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  71. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  72. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  73. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
  74. package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
  75. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
  77. package/dist/lib.cjs/types/base/utils.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  79. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
  81. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  82. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
  83. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
  84. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  85. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  86. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  87. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  88. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  89. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  90. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  91. package/dist/lib.cjs/types/noModal.d.ts +12 -8
  92. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  94. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  95. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  96. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  97. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  98. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  99. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  101. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  102. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  105. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  106. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  107. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  108. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  109. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  112. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  113. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  115. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  116. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  117. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  118. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  119. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  120. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  121. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  122. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  123. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  125. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  128. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  130. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  131. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  132. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  134. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  135. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  136. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  137. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  138. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  139. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  140. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  141. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  142. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  143. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  146. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  147. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  153. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  157. package/dist/lib.cjs/vue/index.js +8 -2
  158. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  159. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  163. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  164. package/dist/lib.cjs/vue/solana/index.js +6 -0
  165. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  166. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  167. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  168. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  169. package/dist/lib.cjs/x402/index.js +175 -0
  170. package/dist/lib.cjs/x402/interfaces.js +5 -0
  171. package/dist/lib.cjs/x402/react.js +64 -0
  172. package/dist/lib.cjs/x402/vue.js +58 -0
  173. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  174. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  175. package/dist/lib.esm/base/connector/constants.js +4 -2
  176. package/dist/lib.esm/base/connector/utils.js +1 -19
  177. package/dist/lib.esm/base/constants.js +4 -1
  178. package/dist/lib.esm/base/cookie.js +7 -20
  179. package/dist/lib.esm/base/errors/index.js +36 -12
  180. package/dist/lib.esm/base/utils.js +10 -7
  181. package/dist/lib.esm/base/wallet/index.js +2 -1
  182. package/dist/lib.esm/base/wallet/solana.js +81 -0
  183. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  184. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  185. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  186. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  187. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  188. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  190. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  191. package/dist/lib.esm/connectors/utils.js +9 -4
  192. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  193. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  194. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  197. package/dist/lib.esm/index.js +9 -17
  198. package/dist/lib.esm/noModal.js +225 -133
  199. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  200. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  201. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  202. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  203. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  204. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  205. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  206. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  207. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  208. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  210. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  211. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  212. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  213. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  214. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  215. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  216. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  217. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  218. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  219. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  220. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  221. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  222. package/dist/lib.esm/react/index.js +5 -1
  223. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  224. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  225. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  226. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  227. package/dist/lib.esm/react/solana/index.js +1 -0
  228. package/dist/lib.esm/react/solana/provider.js +150 -0
  229. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  230. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  231. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  232. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  233. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  234. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  235. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  236. package/dist/lib.esm/vue/index.js +4 -1
  237. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  238. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  239. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  240. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  241. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  242. package/dist/lib.esm/vue/solana/constants.js +3 -0
  243. package/dist/lib.esm/vue/solana/index.js +3 -0
  244. package/dist/lib.esm/vue/solana/provider.js +95 -0
  245. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  246. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  247. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  248. package/dist/lib.esm/x402/index.js +170 -0
  249. package/dist/lib.esm/x402/interfaces.js +3 -0
  250. package/dist/lib.esm/x402/react.js +59 -0
  251. package/dist/lib.esm/x402/vue.js +54 -0
  252. package/package.json +78 -53
  253. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  254. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  255. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  256. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  257. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  258. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  259. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  260. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  261. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  263. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  264. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  265. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  266. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  267. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  268. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  269. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  270. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  271. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  272. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  273. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  274. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  275. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  276. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  279. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  280. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  282. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  283. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  288. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  289. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  290. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  291. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  293. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  295. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  297. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  298. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  300. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  301. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  302. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  303. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  304. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  305. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  306. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  307. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  308. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  309. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  310. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  311. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  312. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  313. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  314. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  315. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  316. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  317. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  318. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  319. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  320. package/dist/noModal.umd.min.js +0 -2
  321. package/dist/noModal.umd.min.js.LICENSE.txt +0 -48
@@ -1,258 +0,0 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
3
- import { isHex, toHex } from 'viem';
4
-
5
- function createWalletMiddleware({
6
- getAccounts,
7
- getPrivateKey,
8
- getPublicKey,
9
- processEthSignMessage,
10
- processPersonalMessage,
11
- processTransaction,
12
- processSignTransaction,
13
- processTypedMessageV4,
14
- processGetCapabilities,
15
- processSendCalls,
16
- processGetCallsStatus,
17
- processShowCallsStatus
18
- }) {
19
- if (!getAccounts) {
20
- throw new Error("opts.getAccounts is required");
21
- }
22
-
23
- //
24
- // utility
25
- //
26
-
27
- /**
28
- * Validates the keyholder address, and returns a normalized (i.e. lowercase)
29
- * copy of it.
30
- *
31
- * an error
32
- */
33
- async function validateAndNormalizeKeyholder(address, req) {
34
- if (typeof address === "string" && address.length > 0) {
35
- // ensure address is included in provided accounts
36
- const accounts = await getAccounts(req);
37
- const normalizedAccounts = accounts.map(_address => _address.toLowerCase());
38
- const normalizedAddress = address.toLowerCase();
39
- if (normalizedAccounts.includes(normalizedAddress)) {
40
- return normalizedAddress;
41
- }
42
- }
43
- throw rpcErrors.invalidParams({
44
- message: `Invalid parameters: must provide an Ethereum address.`
45
- });
46
- }
47
-
48
- //
49
- // account lookups
50
- //
51
-
52
- async function lookupAccounts(req, res) {
53
- res.result = await getAccounts(req);
54
- }
55
-
56
- //
57
- // transaction signatures
58
- //
59
-
60
- async function sendTransaction(req, res) {
61
- if (!processTransaction) {
62
- throw rpcErrors.methodNotSupported();
63
- }
64
- const txParams = req.params[0] || {
65
- from: ""
66
- };
67
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
68
- res.result = await processTransaction(txParams, req);
69
- }
70
- async function signTransaction(req, res) {
71
- if (!processSignTransaction) {
72
- throw rpcErrors.methodNotSupported();
73
- }
74
- const txParams = req.params[0] || {
75
- from: ""
76
- };
77
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
78
- res.result = await processSignTransaction(txParams, req);
79
- }
80
-
81
- //
82
- // message signatures
83
- //
84
-
85
- async function ethSign(req, res) {
86
- if (!processEthSignMessage) {
87
- throw rpcErrors.methodNotSupported();
88
- }
89
- let msgParams = req.params;
90
- const extraParams = req.params[2] || {};
91
- if (Array.isArray(req.params)) {
92
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
93
- const params = req.params;
94
- const address = params[0];
95
- const message = params[1];
96
- msgParams = {
97
- from: address,
98
- data: message
99
- };
100
- }
101
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
102
- res.result = await processEthSignMessage(msgParams, req);
103
- }
104
- async function signTypedDataV4(req, res) {
105
- if (!processTypedMessageV4) {
106
- throw rpcErrors.methodNotSupported();
107
- }
108
- if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
109
- let msgParams = req.params;
110
- if (Array.isArray(req.params)) {
111
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
112
- const params = req.params;
113
- const address = params[0];
114
- const message = params[1];
115
- msgParams = {
116
- from: address,
117
- data: message
118
- };
119
- }
120
- res.result = await processTypedMessageV4(msgParams, req);
121
- }
122
- async function personalSign(req, res) {
123
- if (!processPersonalMessage) {
124
- throw rpcErrors.methodNotSupported();
125
- }
126
- let msgParams = req.params;
127
- const extraParams = req.params[2] || {};
128
- if (Array.isArray(req.params)) {
129
- if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
130
- const params = req.params;
131
- if (typeof params[0] === "object") {
132
- const {
133
- challenge,
134
- address
135
- } = params[0];
136
- msgParams = {
137
- from: address,
138
- data: challenge
139
- };
140
- } else {
141
- const message = params[0];
142
- const address = params[1];
143
- msgParams = {
144
- from: address,
145
- data: message
146
- };
147
- }
148
- }
149
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
150
- res.result = await processPersonalMessage(msgParams, req);
151
- }
152
- async function fetchPrivateKey(req, res) {
153
- if (!getPrivateKey) {
154
- throw rpcErrors.methodNotSupported();
155
- }
156
- res.result = await getPrivateKey(req);
157
- }
158
- async function fetchPublicKey(req, res) {
159
- if (!getPublicKey) {
160
- throw rpcErrors.methodNotSupported();
161
- }
162
- res.result = await getPublicKey(req);
163
- }
164
- async function getWalletCapabilitiesMiddleware(req, res) {
165
- if (!processGetCapabilities) {
166
- throw rpcErrors.methodNotSupported();
167
- }
168
- if (!Array.isArray(req.params) || req.params.length === 0) {
169
- throw rpcErrors.invalidParams("Invalid parameters");
170
- }
171
- const account = req.params[0];
172
- if (!isHex(account)) {
173
- throw rpcErrors.invalidParams("Invalid account address");
174
- }
175
- let chainIds = req.params[1] || []; // if empty array is provided, the wallet will return capabilities for all supported chains
176
- if (!Array.isArray(chainIds)) {
177
- throw rpcErrors.invalidParams(`Invalid params, received: ${chainIds}. expected: Array`);
178
- }
179
-
180
- // format chain ids
181
- chainIds = chainIds.map(chainId => isHex(chainId) ? chainId : toHex(chainId));
182
- const getCapabilitiesParams = [account,
183
- // account address
184
- chainIds // [`0xstring`, `0xstring`, ...]
185
- ];
186
- res.result = await processGetCapabilities(getCapabilitiesParams);
187
- }
188
- async function walletSendCallsMiddleware(req, res) {
189
- if (!processSendCalls) {
190
- throw rpcErrors.methodNotSupported();
191
- }
192
- const params = Array.isArray(req.params) ? req.params[0] : req.params;
193
- if (!params || typeof params !== "object") {
194
- throw rpcErrors.invalidParams("Missing or invalid params for wallet_sendCalls");
195
- }
196
- if (!params.version || typeof params.version !== "string") {
197
- throw rpcErrors.invalidParams(`Invalid version: expected string, got "${params.version || "undefined"}"`);
198
- }
199
- if (!params.chainId) {
200
- throw rpcErrors.invalidParams("Missing required field: chainId");
201
- }
202
- if (!Array.isArray(params.calls) || params.calls.length === 0) {
203
- throw rpcErrors.invalidParams("calls must be a non-empty array");
204
- }
205
- const from = params.from;
206
- if (from) {
207
- await validateAndNormalizeKeyholder(from, req);
208
- }
209
- const walletSendCallsParams = _objectSpread(_objectSpread({}, params), {}, {
210
- chainId: isHex(params.chainId) ? params.chainId : toHex(params.chainId)
211
- });
212
- res.result = await processSendCalls(walletSendCallsParams);
213
- }
214
- async function walletBatchCallStatusMiddleware(req, res) {
215
- if (!processGetCallsStatus) {
216
- throw rpcErrors.methodNotSupported();
217
- }
218
- const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
219
- if (!batchId || typeof batchId !== "string") {
220
- throw rpcErrors.invalidParams("Missing or invalid batchId");
221
- }
222
- res.result = await processGetCallsStatus(batchId);
223
- }
224
- async function walletShowCallsStatusMiddleware(req, res) {
225
- if (!processShowCallsStatus) {
226
- throw rpcErrors.methodNotSupported();
227
- }
228
- const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
229
- if (!batchId || typeof batchId !== "string") {
230
- throw rpcErrors.invalidParams("Missing or invalid batchId");
231
- }
232
- await processShowCallsStatus(batchId);
233
- res.result = true;
234
- }
235
- return createScaffoldMiddleware({
236
- // account lookups
237
- eth_accounts: createAsyncMiddleware(lookupAccounts),
238
- eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
239
- eth_private_key: createAsyncMiddleware(fetchPrivateKey),
240
- eth_public_key: createAsyncMiddleware(fetchPublicKey),
241
- public_key: createAsyncMiddleware(fetchPublicKey),
242
- private_key: createAsyncMiddleware(fetchPrivateKey),
243
- // tx signatures
244
- eth_sendTransaction: createAsyncMiddleware(sendTransaction),
245
- eth_signTransaction: createAsyncMiddleware(signTransaction),
246
- // message signatures
247
- eth_sign: createAsyncMiddleware(ethSign),
248
- eth_signTypedData_v4: createAsyncMiddleware(signTypedDataV4),
249
- personal_sign: createAsyncMiddleware(personalSign),
250
- // EIP-5792
251
- wallet_getCapabilities: createAsyncMiddleware(getWalletCapabilitiesMiddleware),
252
- wallet_sendCalls: createAsyncMiddleware(walletSendCallsMiddleware),
253
- wallet_getCallsStatus: createAsyncMiddleware(walletBatchCallStatusMiddleware),
254
- wallet_showCallsStatus: createAsyncMiddleware(walletShowCallsStatusMiddleware)
255
- });
256
- }
257
-
258
- 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 };