@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,251 +0,0 @@
1
- 'use strict';
2
-
3
- var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
- var auth = require('@web3auth/auth');
5
- var viem = require('viem');
6
-
7
- function createWalletMiddleware({
8
- getAccounts,
9
- getPrivateKey,
10
- getPublicKey,
11
- processEthSignMessage,
12
- processPersonalMessage,
13
- processTransaction,
14
- processSignTransaction,
15
- processTypedMessageV4,
16
- processGetCapabilities,
17
- processSendCalls,
18
- processGetCallsStatus,
19
- processShowCallsStatus
20
- }) {
21
- if (!getAccounts) {
22
- throw new Error("opts.getAccounts is required");
23
- }
24
- //
25
- // utility
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 auth.rpcErrors.invalidParams({
44
- message: `Invalid parameters: must provide an Ethereum address.`
45
- });
46
- }
47
- //
48
- // account lookups
49
- //
50
- async function lookupAccounts(req, res) {
51
- res.result = await getAccounts(req);
52
- }
53
- //
54
- // transaction signatures
55
- //
56
- async function sendTransaction(req, res) {
57
- if (!processTransaction) {
58
- throw auth.rpcErrors.methodNotSupported();
59
- }
60
- const txParams = req.params[0] || {
61
- from: ""
62
- };
63
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
64
- res.result = await processTransaction(txParams, req);
65
- }
66
- async function signTransaction(req, res) {
67
- if (!processSignTransaction) {
68
- throw auth.rpcErrors.methodNotSupported();
69
- }
70
- const txParams = req.params[0] || {
71
- from: ""
72
- };
73
- txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
74
- res.result = await processSignTransaction(txParams, req);
75
- }
76
- //
77
- // message signatures
78
- //
79
- async function ethSign(req, res) {
80
- if (!processEthSignMessage) {
81
- throw auth.rpcErrors.methodNotSupported();
82
- }
83
- let msgParams = req.params;
84
- const extraParams = req.params[2] || {};
85
- if (Array.isArray(req.params)) {
86
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
87
- const params = req.params;
88
- const address = params[0];
89
- const message = params[1];
90
- msgParams = {
91
- from: address,
92
- data: message
93
- };
94
- }
95
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
96
- res.result = await processEthSignMessage(msgParams, req);
97
- }
98
- async function signTypedDataV4(req, res) {
99
- if (!processTypedMessageV4) {
100
- throw auth.rpcErrors.methodNotSupported();
101
- }
102
- if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
103
- let msgParams = req.params;
104
- if (Array.isArray(req.params)) {
105
- if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
106
- const params = req.params;
107
- const address = params[0];
108
- const message = params[1];
109
- msgParams = {
110
- from: address,
111
- data: message
112
- };
113
- }
114
- res.result = await processTypedMessageV4(msgParams, req);
115
- }
116
- async function personalSign(req, res) {
117
- if (!processPersonalMessage) {
118
- throw auth.rpcErrors.methodNotSupported();
119
- }
120
- let msgParams = req.params;
121
- const extraParams = req.params[2] || {};
122
- if (Array.isArray(req.params)) {
123
- if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
124
- const params = req.params;
125
- if (typeof params[0] === "object") {
126
- const {
127
- challenge,
128
- address
129
- } = params[0];
130
- msgParams = {
131
- from: address,
132
- data: challenge
133
- };
134
- } else {
135
- const message = params[0];
136
- const address = params[1];
137
- msgParams = {
138
- from: address,
139
- data: message
140
- };
141
- }
142
- }
143
- msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
144
- res.result = await processPersonalMessage(msgParams, req);
145
- }
146
- async function fetchPrivateKey(req, res) {
147
- if (!getPrivateKey) {
148
- throw auth.rpcErrors.methodNotSupported();
149
- }
150
- res.result = await getPrivateKey(req);
151
- }
152
- async function fetchPublicKey(req, res) {
153
- if (!getPublicKey) {
154
- throw auth.rpcErrors.methodNotSupported();
155
- }
156
- res.result = await getPublicKey(req);
157
- }
158
- async function getWalletCapabilitiesMiddleware(req, res) {
159
- if (!processGetCapabilities) {
160
- throw auth.rpcErrors.methodNotSupported();
161
- }
162
- if (!Array.isArray(req.params) || req.params.length === 0) {
163
- throw auth.rpcErrors.invalidParams("Invalid parameters");
164
- }
165
- const account = req.params[0];
166
- if (!viem.isHex(account)) {
167
- throw auth.rpcErrors.invalidParams("Invalid account address");
168
- }
169
- let chainIds = req.params[1] || []; // if empty array is provided, the wallet will return capabilities for all supported chains
170
- if (!Array.isArray(chainIds)) {
171
- throw auth.rpcErrors.invalidParams(`Invalid params, received: ${chainIds}. expected: Array`);
172
- }
173
- // format chain ids
174
- chainIds = chainIds.map(chainId => viem.isHex(chainId) ? chainId : viem.toHex(chainId));
175
- const getCapabilitiesParams = [account,
176
- // account address
177
- chainIds // [`0xstring`, `0xstring`, ...]
178
- ];
179
- res.result = await processGetCapabilities(getCapabilitiesParams);
180
- }
181
- async function walletSendCallsMiddleware(req, res) {
182
- if (!processSendCalls) {
183
- throw auth.rpcErrors.methodNotSupported();
184
- }
185
- const params = Array.isArray(req.params) ? req.params[0] : req.params;
186
- if (!params || typeof params !== "object") {
187
- throw auth.rpcErrors.invalidParams("Missing or invalid params for wallet_sendCalls");
188
- }
189
- if (!params.version || typeof params.version !== "string") {
190
- throw auth.rpcErrors.invalidParams(`Invalid version: expected string, got "${params.version || "undefined"}"`);
191
- }
192
- if (!params.chainId) {
193
- throw auth.rpcErrors.invalidParams("Missing required field: chainId");
194
- }
195
- if (!Array.isArray(params.calls) || params.calls.length === 0) {
196
- throw auth.rpcErrors.invalidParams("calls must be a non-empty array");
197
- }
198
- const from = params.from;
199
- if (from) {
200
- await validateAndNormalizeKeyholder(from, req);
201
- }
202
- const walletSendCallsParams = _objectSpread(_objectSpread({}, params), {}, {
203
- chainId: viem.isHex(params.chainId) ? params.chainId : viem.toHex(params.chainId)
204
- });
205
- res.result = await processSendCalls(walletSendCallsParams);
206
- }
207
- async function walletBatchCallStatusMiddleware(req, res) {
208
- if (!processGetCallsStatus) {
209
- throw auth.rpcErrors.methodNotSupported();
210
- }
211
- const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
212
- if (!batchId || typeof batchId !== "string") {
213
- throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
214
- }
215
- res.result = await processGetCallsStatus(batchId);
216
- }
217
- async function walletShowCallsStatusMiddleware(req, res) {
218
- if (!processShowCallsStatus) {
219
- throw auth.rpcErrors.methodNotSupported();
220
- }
221
- const batchId = Array.isArray(req.params) ? req.params[0] : req.params;
222
- if (!batchId || typeof batchId !== "string") {
223
- throw auth.rpcErrors.invalidParams("Missing or invalid batchId");
224
- }
225
- await processShowCallsStatus(batchId);
226
- res.result = true;
227
- }
228
- return auth.createScaffoldMiddleware({
229
- // account lookups
230
- eth_accounts: auth.createAsyncMiddleware(lookupAccounts),
231
- eth_requestAccounts: auth.createAsyncMiddleware(lookupAccounts),
232
- eth_private_key: auth.createAsyncMiddleware(fetchPrivateKey),
233
- eth_public_key: auth.createAsyncMiddleware(fetchPublicKey),
234
- public_key: auth.createAsyncMiddleware(fetchPublicKey),
235
- private_key: auth.createAsyncMiddleware(fetchPrivateKey),
236
- // tx signatures
237
- eth_sendTransaction: auth.createAsyncMiddleware(sendTransaction),
238
- eth_signTransaction: auth.createAsyncMiddleware(signTransaction),
239
- // message signatures
240
- eth_sign: auth.createAsyncMiddleware(ethSign),
241
- eth_signTypedData_v4: auth.createAsyncMiddleware(signTypedDataV4),
242
- personal_sign: auth.createAsyncMiddleware(personalSign),
243
- // EIP-5792
244
- wallet_getCapabilities: auth.createAsyncMiddleware(getWalletCapabilitiesMiddleware),
245
- wallet_sendCalls: auth.createAsyncMiddleware(walletSendCallsMiddleware),
246
- wallet_getCallsStatus: auth.createAsyncMiddleware(walletBatchCallStatusMiddleware),
247
- wallet_showCallsStatus: auth.createAsyncMiddleware(walletShowCallsStatusMiddleware)
248
- });
249
- }
250
-
251
- exports.createWalletMiddleware = createWalletMiddleware;
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- var auth = require('@web3auth/auth');
4
- require('@babel/runtime/helpers/objectSpread2');
5
- require('@babel/runtime/helpers/defineProperty');
6
- require('@segment/analytics-next');
7
- require('../../../../../base/loglevel.js');
8
- require('@toruslabs/base-controllers');
9
- var index = require('../../../../../base/errors/index.js');
10
- require('../../../../../base/wallet/index.js');
11
- require('../../../../../base/connector/connectorStatus.js');
12
- require('../../../../../base/connector/constants.js');
13
- require('jwt-decode');
14
- require('../../../../../base/plugin/errors.js');
15
- require('../../../../../base/plugin/IPlugin.js');
16
- require('@toruslabs/constants');
17
- require('@toruslabs/http-helpers');
18
- var baseProvider = require('../../../../base-provider/baseProvider.js');
19
- require('../../../../base-provider/CommonJRPCProvider.js');
20
- require('../../../../base-provider/commonPrivateKeyProvider.js');
21
- require('../../../../base-provider/utils.js');
22
- var JrpcClient = require('../../../rpc/JrpcClient.js');
23
- var solanaRpcMiddlewares = require('../../../rpc/solanaRpcMiddlewares.js');
24
-
25
- class BaseInjectedProvider extends baseProvider.BaseProvider {
26
- constructor({
27
- config,
28
- state
29
- }) {
30
- super({
31
- config,
32
- state
33
- });
34
- }
35
- async switchChain(_) {
36
- throw index.WalletLoginError.unsupportedOperation("Chain switching is not supported by this connector");
37
- }
38
- async setupProvider(injectedProvider, chainId) {
39
- const engine = new auth.JRPCEngine();
40
- const chain = this.getChain(chainId);
41
- const providerHandlers = this.getProviderHandlers(injectedProvider);
42
- const solanaMiddleware = solanaRpcMiddlewares.createSolanaMiddleware(providerHandlers);
43
- engine.push(solanaMiddleware);
44
- const configMiddleware = JrpcClient.createConfigMiddleware(chain);
45
- engine.push(configMiddleware);
46
- const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
47
- if (injectedProviderProxy) {
48
- engine.push(injectedProviderProxy);
49
- }
50
- const provider = auth.providerFromEngine(engine);
51
- this.updateProviderEngineProxy(provider);
52
- await this.lookupNetwork(injectedProvider, chainId);
53
- }
54
- async lookupNetwork(_injectedProvider, chainId) {
55
- this.update({
56
- chainId
57
- });
58
- return chainId || "";
59
- }
60
- getInjectedProviderProxy(_) {
61
- return undefined;
62
- }
63
- }
64
-
65
- exports.BaseInjectedProvider = BaseInjectedProvider;
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- var bs58 = require('@toruslabs/bs58');
4
- var auth = require('@web3auth/auth');
5
-
6
- const getBaseProviderHandlers = injectedProvider => {
7
- const providerHandlers = {
8
- requestAccounts: async () => {
9
- return injectedProvider.publicKey ? [bs58.bs58.encode(injectedProvider.publicKey.toBytes())] : [];
10
- },
11
- getPublicKey: async () => {
12
- return injectedProvider.publicKey ? bs58.bs58.encode(injectedProvider.publicKey.toBytes()) : "";
13
- },
14
- getAccounts: async () => injectedProvider.publicKey ? [bs58.bs58.encode(injectedProvider.publicKey.toBytes())] : [],
15
- getPrivateKey: async () => {
16
- throw auth.rpcErrors.methodNotSupported();
17
- },
18
- getSecretKey: async () => {
19
- throw auth.rpcErrors.methodNotSupported();
20
- },
21
- signTransaction: async req => {
22
- const transaction = await injectedProvider.signTransaction(req.params.message);
23
- return transaction;
24
- },
25
- signMessage: async req => {
26
- const sigData = await injectedProvider.signMessage(req.params.data, req.params.from, req.params.display);
27
- return sigData;
28
- },
29
- signAllTransactions: async req => {
30
- var _req$params, _req$params2;
31
- 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)) {
32
- throw auth.rpcErrors.invalidParams("message");
33
- }
34
- const transaction = await injectedProvider.signAllTransactions(req.params.message);
35
- return transaction;
36
- },
37
- signAndSendTransaction: async req => {
38
- const txRes = await injectedProvider.signAndSendTransaction(req.params.message);
39
- return txRes;
40
- }
41
- };
42
- return providerHandlers;
43
- };
44
-
45
- exports.getBaseProviderHandlers = getBaseProviderHandlers;
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- const getSolanaChainByChainConfig = chainConfig => {
4
- switch (chainConfig.chainId) {
5
- case "0x65":
6
- return "solana:mainnet";
7
- case "0x66":
8
- return "solana:testnet";
9
- case "0x67":
10
- return "solana:devnet";
11
- default:
12
- return null;
13
- }
14
- };
15
-
16
- exports.getSolanaChainByChainConfig = getSolanaChainByChainConfig;
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- var walletStandardFeatures = require('@solana/wallet-standard-features');
4
- var web3_js = require('@solana/web3.js');
5
- var bs58 = require('@toruslabs/bs58');
6
- require('@babel/runtime/helpers/objectSpread2');
7
- require('@babel/runtime/helpers/defineProperty');
8
- require('@segment/analytics-next');
9
- require('../../../../base/loglevel.js');
10
- require('@toruslabs/base-controllers');
11
- require('@web3auth/auth');
12
- var index = require('../../../../base/errors/index.js');
13
- require('../../../../base/wallet/index.js');
14
- require('../../../../base/connector/connectorStatus.js');
15
- require('../../../../base/connector/constants.js');
16
- require('jwt-decode');
17
- require('../../../../base/plugin/errors.js');
18
- require('../../../../base/plugin/IPlugin.js');
19
- require('@toruslabs/constants');
20
- require('@toruslabs/http-helpers');
21
- var baseInjectedProvider = require('./base/baseInjectedProvider.js');
22
- var providerHandlers = require('./base/providerHandlers.js');
23
- var utils = require('./utils.js');
24
-
25
- class WalletStandardProvider extends baseInjectedProvider.BaseInjectedProvider {
26
- getProviderHandlers(wallet) {
27
- const chainIdentifier = utils.getSolanaChainByChainConfig(this.config.chain);
28
- const currentAccount = () => {
29
- const account = wallet === null || wallet === void 0 ? void 0 : wallet.accounts[0];
30
- if (!account) throw index.WalletLoginError.notConnectedError();
31
- return account;
32
- };
33
- /**
34
- * Signs a message and returns the signature
35
- * @param message - The message to sign
36
- * @returns The signature of the message encoded in base58
37
- */
38
- const signMessage = async message => {
39
- const account = currentAccount();
40
- const uint8ArrayMessage = new Uint8Array(Buffer.from(message, "utf-8"));
41
- const signature = await wallet.features[walletStandardFeatures.SolanaSignMessage].signMessage({
42
- account,
43
- message: uint8ArrayMessage
44
- });
45
- return bs58.bs58.encode(signature[0].signature);
46
- };
47
- /**
48
- * Signs a transaction and returns the signature
49
- * @param transaction - The transaction to sign
50
- * @returns The signature of the transaction encoded in base58
51
- */
52
- const signTransaction = async transaction => {
53
- const account = currentAccount();
54
- const output = await wallet.features[walletStandardFeatures.SolanaSignTransaction].signTransaction({
55
- account,
56
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
57
- chain: chainIdentifier
58
- });
59
- return bs58.bs58.encode(web3_js.VersionedTransaction.deserialize(output[0].signedTransaction).signatures[0]);
60
- };
61
- /**
62
- * Signs multiple transactions and returns the serialized transactions
63
- * @param transactions - The transactions to sign
64
- * @returns The serialized transactions encoded in base64
65
- */
66
- const signAllTransactions = async transactions => {
67
- const account = currentAccount();
68
- return Promise.all(transactions.map(async transaction => {
69
- const output = await wallet.features[walletStandardFeatures.SolanaSignTransaction].signTransaction({
70
- account,
71
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
72
- chain: chainIdentifier
73
- });
74
- return Buffer.from(output[0].signedTransaction).toString("base64");
75
- }));
76
- };
77
- /**
78
- * Signs a transaction and sends it to the network
79
- * @param transaction - The transaction to sign and send
80
- * @returns The signature of the transaction encoded in base58
81
- */
82
- const signAndSendTransaction = async transaction => {
83
- const account = currentAccount();
84
- const output = await wallet.features[walletStandardFeatures.SolanaSignAndSendTransaction].signAndSendTransaction({
85
- account,
86
- transaction: new Uint8Array(Buffer.from(transaction, "base64")),
87
- chain: chainIdentifier
88
- });
89
- return bs58.bs58.encode(output[0].signature);
90
- };
91
- return providerHandlers.getBaseProviderHandlers({
92
- get publicKey() {
93
- return new web3_js.PublicKey(currentAccount().publicKey);
94
- },
95
- signMessage,
96
- signTransaction,
97
- signAllTransactions,
98
- signAndSendTransaction
99
- });
100
- }
101
- }
102
-
103
- exports.WalletStandardProvider = WalletStandardProvider;
@@ -1,47 +0,0 @@
1
- 'use strict';
2
-
3
- var baseControllers = require('@toruslabs/base-controllers');
4
- var auth = require('@web3auth/auth');
5
-
6
- function createSolanaChainIdMiddleware(chainId) {
7
- return (req, res, next, end) => {
8
- if (req.method === "solana_chainId") {
9
- res.result = chainId;
10
- return end();
11
- }
12
- return next();
13
- };
14
- }
15
- function createSolanaProviderConfigMiddleware(providerConfig) {
16
- return (req, res, next, end) => {
17
- if (req.method === "solana_provider_config") {
18
- res.result = providerConfig;
19
- return end();
20
- }
21
- return next();
22
- };
23
- }
24
- function createConfigMiddleware(providerConfig) {
25
- const {
26
- chainId
27
- } = providerConfig;
28
- return auth.mergeMiddleware([createSolanaChainIdMiddleware(chainId), createSolanaProviderConfigMiddleware(providerConfig)]);
29
- }
30
- function createSolanaJsonRpcClient(providerConfig) {
31
- const {
32
- rpcTarget
33
- } = providerConfig;
34
- const fetchMiddleware = baseControllers.createFetchMiddleware({
35
- rpcTarget
36
- });
37
- const networkMiddleware = auth.mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
38
- return {
39
- networkMiddleware,
40
- fetchMiddleware
41
- };
42
- }
43
-
44
- exports.createConfigMiddleware = createConfigMiddleware;
45
- exports.createSolanaChainIdMiddleware = createSolanaChainIdMiddleware;
46
- exports.createSolanaJsonRpcClient = createSolanaJsonRpcClient;
47
- exports.createSolanaProviderConfigMiddleware = createSolanaProviderConfigMiddleware;
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- var auth = require('@web3auth/auth');
4
- var wsEmbed = require('@web3auth/ws-embed');
5
-
6
- function createGetAccountsMiddleware({
7
- getAccounts
8
- }) {
9
- return auth.createAsyncMiddleware(async (request, response, next) => {
10
- const {
11
- method
12
- } = request;
13
- if (method !== wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS) return next();
14
- if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
15
- // This calls from the prefs controller
16
- const accounts = await getAccounts(request);
17
- response.result = accounts;
18
- return undefined;
19
- });
20
- }
21
- function createGetPublicKeyMiddleware({
22
- getPublicKey
23
- }) {
24
- return auth.createAsyncMiddleware(async (request, response, next) => {
25
- const {
26
- method
27
- } = request;
28
- if (method !== "getPublicKey") return next();
29
- if (!getPublicKey) throw new Error("WalletMiddleware - opts.getPublicKey not provided");
30
- const publicKey = await getPublicKey(request);
31
- response.result = publicKey;
32
- return undefined;
33
- });
34
- }
35
- function createRequestAccountsMiddleware({
36
- requestAccounts
37
- }) {
38
- return auth.createAsyncMiddleware(async (request, response, next) => {
39
- const {
40
- method
41
- } = request;
42
- if (method !== wsEmbed.SOLANA_METHOD_TYPES.SOLANA_REQUEST_ACCOUNTS) return next();
43
- if (!requestAccounts) throw new Error("WalletMiddleware - opts.requestAccounts not provided");
44
- // This calls the UI login function
45
- const accounts = await requestAccounts(request);
46
- response.result = accounts;
47
- return undefined;
48
- });
49
- }
50
- function createGenericJRPCMiddleware(targetMethod, handler) {
51
- return auth.createAsyncMiddleware(async (request, response, next) => {
52
- const {
53
- method
54
- } = request;
55
- if (method !== targetMethod) return next();
56
- if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
57
- const result = await handler(request);
58
- response.result = result;
59
- return undefined;
60
- });
61
- }
62
- function createSolanaMiddleware(providerHandlers) {
63
- const {
64
- getAccounts,
65
- requestAccounts,
66
- signTransaction,
67
- signAndSendTransaction,
68
- signAllTransactions,
69
- signMessage,
70
- getPrivateKey,
71
- getSecretKey,
72
- getPublicKey
73
- } = providerHandlers;
74
- return auth.mergeMiddleware([createRequestAccountsMiddleware({
75
- requestAccounts
76
- }), createGetAccountsMiddleware({
77
- getAccounts
78
- }), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.SEND_TRANSACTION, signAndSendTransaction), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.SIGN_ALL_TRANSACTIONS, signAllTransactions), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.SOLANA_PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware(wsEmbed.SOLANA_METHOD_TYPES.PRIVATE_KEY, getPrivateKey), createGenericJRPCMiddleware("public_key", getPublicKey), createGenericJRPCMiddleware("solanaPublicKey", getPublicKey), createGenericJRPCMiddleware("solanaSecretKey", getSecretKey)]);
79
- }
80
- function createSolanaChainSwitchMiddleware({
81
- switchSolanaChain
82
- }) {
83
- return auth.mergeMiddleware([createGenericJRPCMiddleware("switchSolanaChain", switchSolanaChain)]);
84
- }
85
- function createSolanaAccountMiddleware({
86
- updatePrivatekey
87
- }) {
88
- return auth.mergeMiddleware([createGenericJRPCMiddleware("updateAccount", updatePrivatekey)]);
89
- }
90
-
91
- exports.createGenericJRPCMiddleware = createGenericJRPCMiddleware;
92
- exports.createGetAccountsMiddleware = createGetAccountsMiddleware;
93
- exports.createGetPublicKeyMiddleware = createGetPublicKeyMiddleware;
94
- exports.createRequestAccountsMiddleware = createRequestAccountsMiddleware;
95
- exports.createSolanaAccountMiddleware = createSolanaAccountMiddleware;
96
- exports.createSolanaChainSwitchMiddleware = createSolanaChainSwitchMiddleware;
97
- exports.createSolanaMiddleware = createSolanaMiddleware;