@web3auth/no-modal 9.6.0 → 10.0.0-alpha.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 (351) hide show
  1. package/dist/757.noModal.cjs.js +226 -0
  2. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
  3. package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
  4. package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
  5. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
  6. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
  7. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
  8. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
  9. package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
  10. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
  11. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
  12. package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
  13. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
  14. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
  15. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
  16. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
  17. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
  18. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
  19. package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
  20. package/dist/lib.cjs/base/adapter/constants.js +24 -0
  21. package/dist/lib.cjs/base/adapter/utils.js +66 -0
  22. package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
  23. package/dist/lib.cjs/base/chain/config.js +281 -0
  24. package/dist/lib.cjs/base/composables/index.js +5 -0
  25. package/dist/lib.cjs/base/errors/index.js +244 -0
  26. package/dist/lib.cjs/base/loglevel.js +7 -0
  27. package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
  28. package/dist/lib.cjs/base/plugin/errors.js +107 -0
  29. package/dist/lib.cjs/base/provider/IProvider.js +8 -0
  30. package/dist/lib.cjs/base/utils.js +56 -0
  31. package/dist/lib.cjs/base/wallet/index.js +31 -0
  32. package/dist/lib.cjs/index.js +200 -0
  33. package/dist/lib.cjs/noModal.js +98 -90
  34. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
  35. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
  36. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
  37. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
  38. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
  39. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
  40. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
  41. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
  42. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
  43. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
  44. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
  45. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
  46. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
  47. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
  48. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
  49. package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
  50. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
  51. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
  52. package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
  53. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
  54. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
  55. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
  56. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
  57. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
  58. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
  59. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
  60. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
  61. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
  62. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
  63. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
  64. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
  65. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
  66. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
  67. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
  68. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
  69. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
  70. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
  71. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
  72. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
  73. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
  74. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
  75. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
  76. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
  77. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
  78. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
  79. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
  80. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
  81. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
  82. package/dist/lib.cjs/react/index.js +16 -0
  83. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
  84. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
  85. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
  86. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
  87. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
  88. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
  89. package/dist/lib.cjs/vue/index.js +15 -0
  90. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
  91. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
  92. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
  93. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
  94. package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
  95. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
  96. package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
  97. package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
  98. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
  99. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
  100. package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
  101. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
  102. package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
  103. package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
  104. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
  105. package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
  106. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
  107. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
  108. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
  109. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
  110. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
  111. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
  112. package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
  113. package/dist/lib.esm/base/adapter/constants.js +20 -0
  114. package/dist/lib.esm/base/adapter/utils.js +60 -0
  115. package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
  116. package/dist/lib.esm/base/chain/config.js +276 -0
  117. package/dist/lib.esm/base/composables/index.js +3 -0
  118. package/dist/lib.esm/base/errors/index.js +237 -0
  119. package/dist/lib.esm/base/loglevel.js +5 -0
  120. package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
  121. package/dist/lib.esm/base/plugin/errors.js +104 -0
  122. package/dist/lib.esm/base/provider/IProvider.js +6 -0
  123. package/dist/lib.esm/base/utils.js +46 -0
  124. package/dist/lib.esm/base/wallet/index.js +25 -0
  125. package/dist/lib.esm/index.js +58 -0
  126. package/dist/lib.esm/noModal.js +12 -4
  127. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
  128. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
  129. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
  130. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
  131. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
  132. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
  133. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
  134. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
  135. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
  136. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
  137. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
  138. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
  139. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
  140. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
  141. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
  142. package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
  143. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
  144. package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
  145. package/dist/lib.esm/providers/base-provider/utils.js +6 -0
  146. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
  147. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
  148. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
  149. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
  150. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
  151. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
  152. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
  153. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
  154. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
  155. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
  156. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
  157. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
  158. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
  159. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
  160. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
  161. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
  162. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
  163. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
  164. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
  165. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
  166. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
  167. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
  168. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
  169. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
  170. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
  171. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
  172. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
  173. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
  174. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
  175. package/dist/lib.esm/react/index.js +5 -0
  176. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
  177. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
  178. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
  179. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
  180. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
  181. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
  182. package/dist/lib.esm/vue/index.js +5 -0
  183. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
  184. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
  185. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
  186. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
  187. package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
  188. package/dist/noModal.cjs.js +26314 -364
  189. package/dist/noModal.umd.min.js +1 -1
  190. package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
  191. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
  192. package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
  193. package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
  194. package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
  195. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
  196. package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
  197. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
  198. package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
  199. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
  200. package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
  201. package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
  202. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
  203. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
  204. package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
  205. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
  206. package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
  207. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
  208. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
  209. package/dist/types/adapters/index.d.ts +7 -0
  210. package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
  211. package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
  212. package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
  213. package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
  214. package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
  215. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
  216. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
  217. package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
  218. package/dist/types/base/adapter/constants.d.ts +22 -0
  219. package/dist/types/base/adapter/index.d.ts +4 -0
  220. package/dist/types/base/adapter/interfaces.d.ts +143 -0
  221. package/dist/types/base/adapter/utils.d.ts +5 -0
  222. package/dist/types/base/chain/IChainInterface.d.ts +59 -0
  223. package/dist/types/base/chain/config.d.ts +5 -0
  224. package/dist/types/base/composables/index.d.ts +1 -0
  225. package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
  226. package/dist/types/base/errors/index.d.ts +69 -0
  227. package/dist/types/base/hooks/index.d.ts +37 -0
  228. package/dist/types/base/index.d.ts +13 -0
  229. package/dist/types/base/interfaces.d.ts +44 -0
  230. package/dist/types/base/loglevel.d.ts +2 -0
  231. package/dist/types/base/plugin/IPlugin.d.ts +53 -0
  232. package/dist/types/base/plugin/errors.d.ts +28 -0
  233. package/dist/types/base/plugin/index.d.ts +2 -0
  234. package/dist/types/base/provider/IProvider.d.ts +16 -0
  235. package/dist/types/base/utils.d.ts +9 -0
  236. package/dist/types/base/wallet/index.d.ts +33 -0
  237. package/dist/types/index.d.ts +4 -0
  238. package/dist/types/noModal.d.ts +2 -2
  239. package/dist/types/plugins/index.d.ts +2 -0
  240. package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
  241. package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
  242. package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
  243. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
  244. package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
  245. package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
  246. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
  247. package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
  248. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
  249. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
  250. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
  251. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
  252. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
  253. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
  254. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
  255. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
  256. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
  257. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
  258. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
  259. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
  260. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
  261. package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
  262. package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
  263. package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
  264. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
  265. package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
  266. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
  267. package/dist/types/providers/base-provider/index.d.ts +5 -0
  268. package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
  269. package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
  270. package/dist/types/providers/base-provider/utils.d.ts +2 -0
  271. package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  272. package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
  273. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
  274. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
  275. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
  276. package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
  277. package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
  278. package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
  279. package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
  280. package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
  281. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
  282. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
  283. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
  284. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
  285. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
  286. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
  287. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
  288. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
  289. package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
  290. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
  291. package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
  292. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
  293. package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
  294. package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
  295. package/dist/types/providers/index.d.ts +6 -0
  296. package/dist/types/providers/solana-provider/index.d.ts +4 -0
  297. package/dist/types/providers/solana-provider/interface.d.ts +39 -0
  298. package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
  300. package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
  301. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
  302. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
  303. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
  304. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
  305. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
  306. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
  307. package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
  308. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
  309. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
  310. package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
  311. package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
  312. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
  313. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
  314. package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
  315. package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
  316. package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
  317. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
  318. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
  319. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
  320. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
  321. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
  322. package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
  323. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
  324. package/dist/types/react/index.d.ts +2 -0
  325. package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
  326. package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
  327. package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
  328. package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
  329. package/dist/types/react/no-modal/index.d.ts +3 -0
  330. package/dist/types/react/no-modal/interfaces.d.ts +15 -0
  331. package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
  332. package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
  333. package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
  334. package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
  335. package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
  336. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
  337. package/dist/types/vue/index.d.ts +2 -0
  338. package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
  339. package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
  340. package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
  341. package/dist/types/vue/no-modal/index.d.ts +3 -0
  342. package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
  343. package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
  344. package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
  345. package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
  346. package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
  347. package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
  348. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
  349. package/package.json +76 -15
  350. package/README.md +0 -82
  351. package/dist/noModal.esm.js +0 -359
@@ -0,0 +1,37 @@
1
+ import { createFetchMiddleware } from '@toruslabs/base-controllers';
2
+ import { mergeMiddleware } from '@web3auth/auth';
3
+
4
+ function createEthChainIdMiddleware(chainId) {
5
+ return (req, res, next, end) => {
6
+ if (req.method === "eth_chainId") {
7
+ res.result = chainId;
8
+ return end();
9
+ }
10
+ return next();
11
+ };
12
+ }
13
+ function createEthProviderConfigMiddleware(providerConfig) {
14
+ return (req, res, next, end) => {
15
+ if (req.method === "eth_provider_config") {
16
+ res.result = providerConfig;
17
+ return end();
18
+ }
19
+ return next();
20
+ };
21
+ }
22
+ function createEthJsonRpcClient(providerConfig) {
23
+ const {
24
+ chainId,
25
+ rpcTarget
26
+ } = providerConfig;
27
+ const fetchMiddleware = createFetchMiddleware({
28
+ rpcTarget
29
+ });
30
+ const networkMiddleware = mergeMiddleware([createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), fetchMiddleware]);
31
+ return {
32
+ networkMiddleware,
33
+ fetchMiddleware
34
+ };
35
+ }
36
+
37
+ export { createEthChainIdMiddleware, createEthJsonRpcClient, createEthProviderConfigMiddleware };
@@ -0,0 +1,177 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
3
+
4
+ function createWalletMiddleware({
5
+ getAccounts,
6
+ getPrivateKey,
7
+ getPublicKey,
8
+ processEthSignMessage,
9
+ processPersonalMessage,
10
+ processTransaction,
11
+ processSignTransaction,
12
+ processTypedMessageV4
13
+ }) {
14
+ if (!getAccounts) {
15
+ throw new Error("opts.getAccounts is required");
16
+ }
17
+
18
+ //
19
+ // utility
20
+ //
21
+
22
+ /**
23
+ * Validates the keyholder address, and returns a normalized (i.e. lowercase)
24
+ * copy of it.
25
+ *
26
+ * an error
27
+ */
28
+ async function validateAndNormalizeKeyholder(address, req) {
29
+ if (typeof address === "string" && address.length > 0) {
30
+ // ensure address is included in provided accounts
31
+ const accounts = await getAccounts(req);
32
+ const normalizedAccounts = accounts.map(_address => _address.toLowerCase());
33
+ const normalizedAddress = address.toLowerCase();
34
+ if (normalizedAccounts.includes(normalizedAddress)) {
35
+ return normalizedAddress;
36
+ }
37
+ }
38
+ throw rpcErrors.invalidParams({
39
+ message: `Invalid parameters: must provide an Ethereum address.`
40
+ });
41
+ }
42
+
43
+ //
44
+ // account lookups
45
+ //
46
+
47
+ async function lookupAccounts(req, res) {
48
+ res.result = await getAccounts(req);
49
+ }
50
+
51
+ //
52
+ // transaction signatures
53
+ //
54
+
55
+ async function sendTransaction(req, res) {
56
+ if (!processTransaction) {
57
+ throw rpcErrors.methodNotSupported();
58
+ }
59
+ const txParams = req.params[0] || {
60
+ from: ""
61
+ };
62
+ txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
63
+ res.result = await processTransaction(txParams, req);
64
+ }
65
+ async function signTransaction(req, res) {
66
+ if (!processSignTransaction) {
67
+ throw rpcErrors.methodNotSupported();
68
+ }
69
+ const txParams = req.params[0] || {
70
+ from: ""
71
+ };
72
+ txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
73
+ res.result = await processSignTransaction(txParams, req);
74
+ }
75
+
76
+ //
77
+ // message signatures
78
+ //
79
+
80
+ async function ethSign(req, res) {
81
+ if (!processEthSignMessage) {
82
+ throw rpcErrors.methodNotSupported();
83
+ }
84
+ let msgParams = req.params;
85
+ const extraParams = req.params[2] || {};
86
+ if (Array.isArray(req.params)) {
87
+ if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
88
+ const params = req.params;
89
+ const address = params[0];
90
+ const message = params[1];
91
+ msgParams = {
92
+ from: address,
93
+ data: message
94
+ };
95
+ }
96
+ msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
97
+ res.result = await processEthSignMessage(msgParams, req);
98
+ }
99
+ async function signTypedDataV4(req, res) {
100
+ if (!processTypedMessageV4) {
101
+ throw rpcErrors.methodNotSupported();
102
+ }
103
+ if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
104
+ let msgParams = req.params;
105
+ if (Array.isArray(req.params)) {
106
+ if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
107
+ const params = req.params;
108
+ const address = params[0];
109
+ const message = params[1];
110
+ msgParams = {
111
+ from: address,
112
+ data: message
113
+ };
114
+ }
115
+ res.result = await processTypedMessageV4(msgParams, req);
116
+ }
117
+ async function personalSign(req, res) {
118
+ if (!processPersonalMessage) {
119
+ throw rpcErrors.methodNotSupported();
120
+ }
121
+ let msgParams = req.params;
122
+ const extraParams = req.params[2] || {};
123
+ if (Array.isArray(req.params)) {
124
+ if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
125
+ const params = req.params;
126
+ if (typeof params[0] === "object") {
127
+ const {
128
+ challenge,
129
+ address
130
+ } = params[0];
131
+ msgParams = {
132
+ from: address,
133
+ data: challenge
134
+ };
135
+ } else {
136
+ const message = params[0];
137
+ const address = params[1];
138
+ msgParams = {
139
+ from: address,
140
+ data: message
141
+ };
142
+ }
143
+ }
144
+ msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
145
+ res.result = await processPersonalMessage(msgParams, req);
146
+ }
147
+ async function fetchPrivateKey(req, res) {
148
+ if (!getPrivateKey) {
149
+ throw rpcErrors.methodNotSupported();
150
+ }
151
+ res.result = await getPrivateKey(req);
152
+ }
153
+ async function fetchPublicKey(req, res) {
154
+ if (!getPublicKey) {
155
+ throw rpcErrors.methodNotSupported();
156
+ }
157
+ res.result = await getPublicKey(req);
158
+ }
159
+ return createScaffoldMiddleware({
160
+ // account lookups
161
+ eth_accounts: createAsyncMiddleware(lookupAccounts),
162
+ eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
163
+ eth_private_key: createAsyncMiddleware(fetchPrivateKey),
164
+ eth_public_key: createAsyncMiddleware(fetchPublicKey),
165
+ public_key: createAsyncMiddleware(fetchPublicKey),
166
+ private_key: createAsyncMiddleware(fetchPrivateKey),
167
+ // tx signatures
168
+ eth_sendTransaction: createAsyncMiddleware(sendTransaction),
169
+ eth_signTransaction: createAsyncMiddleware(signTransaction),
170
+ // message signatures
171
+ eth_sign: createAsyncMiddleware(ethSign),
172
+ eth_signTypedData_v4: createAsyncMiddleware(signTypedDataV4),
173
+ personal_sign: createAsyncMiddleware(personalSign)
174
+ });
175
+ }
176
+
177
+ export { createWalletMiddleware };
@@ -0,0 +1,49 @@
1
+ import { JRPCEngine, providerFromEngine } from '@web3auth/auth';
2
+ import { WalletLoginError } from '../../../../../base/errors/index.js';
3
+ import { createConfigMiddleware } from '../../../rpc/JrpcClient.js';
4
+ import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
5
+ import { BaseProvider } from '../../../../base-provider/baseProvider.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 adapter");
19
+ }
20
+ async setupProvider(injectedProvider) {
21
+ const engine = new JRPCEngine();
22
+ const providerHandlers = this.getProviderHandlers(injectedProvider);
23
+ const solanaMiddleware = createSolanaMiddleware(providerHandlers);
24
+ engine.push(solanaMiddleware);
25
+ const configMiddleware = createConfigMiddleware(this.config.chainConfig);
26
+ engine.push(configMiddleware);
27
+ const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
28
+ if (injectedProviderProxy) {
29
+ engine.push(injectedProviderProxy);
30
+ }
31
+ const provider = providerFromEngine(engine);
32
+ this.updateProviderEngineProxy(provider);
33
+ await this.lookupNetwork();
34
+ }
35
+ async lookupNetwork() {
36
+ const {
37
+ chainConfig
38
+ } = this.config;
39
+ this.update({
40
+ chainId: chainConfig.chainId
41
+ });
42
+ return chainConfig.chainId || "";
43
+ }
44
+ getInjectedProviderProxy(_) {
45
+ return undefined;
46
+ }
47
+ }
48
+
49
+ export { BaseInjectedProvider };
@@ -0,0 +1,45 @@
1
+ import { rpcErrors } from '@web3auth/auth';
2
+ import bs58 from 'bs58';
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.message, req.params.display);
25
+ return sigData.signature;
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 {
38
+ signature: txRes.signature
39
+ };
40
+ }
41
+ };
42
+ return providerHandlers;
43
+ };
44
+
45
+ export { getBaseProviderHandlers };
@@ -0,0 +1,10 @@
1
+ import { createAsyncMiddleware } from '@web3auth/auth';
2
+
3
+ function createInjectedProviderProxyMiddleware(provider) {
4
+ return createAsyncMiddleware(async (req, res, _next) => {
5
+ const result = await provider.request(req);
6
+ res.result = result;
7
+ });
8
+ }
9
+
10
+ export { createInjectedProviderProxyMiddleware };
@@ -0,0 +1,73 @@
1
+ import { rpcErrors } from '@web3auth/auth';
2
+
3
+ const getTorusHandlers = injectedProvider => {
4
+ const providerHandlers = {
5
+ requestAccounts: async () => {
6
+ const accounts = await injectedProvider.request({
7
+ method: "solana_requestAccounts",
8
+ params: {}
9
+ });
10
+ return accounts;
11
+ },
12
+ getPublicKey: async () => {
13
+ const publicKeys = await injectedProvider.request({
14
+ method: "solana_requestAccounts",
15
+ params: {}
16
+ });
17
+ return publicKeys[0];
18
+ },
19
+ getAccounts: async () => {
20
+ const accounts = await injectedProvider.request({
21
+ method: "solana_requestAccounts",
22
+ params: {}
23
+ });
24
+ return accounts;
25
+ },
26
+ getPrivateKey: async () => {
27
+ throw rpcErrors.methodNotSupported();
28
+ },
29
+ getSecretKey: async () => {
30
+ throw rpcErrors.methodNotSupported();
31
+ },
32
+ signMessage: async req => {
33
+ var _req$params;
34
+ if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message)) {
35
+ throw rpcErrors.invalidParams("message");
36
+ }
37
+ const message = await injectedProvider.signMessage(req.params.message);
38
+ return message;
39
+ },
40
+ signTransaction: async req => {
41
+ var _req$params2;
42
+ if (!((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message)) {
43
+ throw rpcErrors.invalidParams("message");
44
+ }
45
+ const txMessage = req.params.message;
46
+ const response = await injectedProvider.signTransaction(txMessage);
47
+ return response;
48
+ },
49
+ signAndSendTransaction: async req => {
50
+ var _req$params3;
51
+ if (!((_req$params3 = req.params) !== null && _req$params3 !== void 0 && _req$params3.message)) {
52
+ throw rpcErrors.invalidParams("message");
53
+ }
54
+ const txMessage = req.params.message;
55
+ const response = await injectedProvider.sendTransaction(txMessage);
56
+ return {
57
+ signature: response
58
+ };
59
+ },
60
+ signAllTransactions: async req => {
61
+ var _req$params4, _req$params5;
62
+ if (!((_req$params4 = req.params) !== null && _req$params4 !== void 0 && _req$params4.message) || !((_req$params5 = req.params) !== null && _req$params5 !== void 0 && _req$params5.message.length)) {
63
+ throw rpcErrors.invalidParams("message");
64
+ }
65
+ const transactions = req.params.message;
66
+ const response = await injectedProvider.signAllTransactions(transactions);
67
+ return response;
68
+ }
69
+ };
70
+ return providerHandlers;
71
+ };
72
+
73
+ export { getTorusHandlers };
@@ -0,0 +1,107 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
4
+ import { WalletInitializationError } from '../../../../../base/errors/index.js';
5
+ import { isHexStrict } from '../../../../../base/utils.js';
6
+ import { createSolanaMiddleware } from '../../../rpc/solanaRpcMiddlewares.js';
7
+ import { createInjectedProviderProxyMiddleware } from '../injectedProviderProxy.js';
8
+ import { getTorusHandlers } from './providerHandlers.js';
9
+ import { BaseProvider } from '../../../../base-provider/baseProvider.js';
10
+
11
+ class TorusInjectedProvider extends BaseProvider {
12
+ constructor({
13
+ config,
14
+ state
15
+ }) {
16
+ super({
17
+ config,
18
+ state
19
+ });
20
+ _defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", "solana");
21
+ }
22
+ async switchChain(params) {
23
+ // overrides the base provider implementation
24
+ await this.provider.request({
25
+ method: "switchSolanaChain",
26
+ params: [{
27
+ chainId: params.chainId
28
+ }]
29
+ });
30
+ }
31
+ async addChain(chainConfig) {
32
+ super.addChain(chainConfig);
33
+ await this.provider.request({
34
+ method: "addNewChainConfig",
35
+ params: [{
36
+ chainId: chainConfig.chainId,
37
+ chainName: chainConfig.displayName,
38
+ rpcUrls: [chainConfig.rpcTarget],
39
+ blockExplorerUrls: [chainConfig.blockExplorerUrl],
40
+ iconUrls: [chainConfig.logo],
41
+ nativeCurrency: {
42
+ name: chainConfig.tickerName,
43
+ symbol: chainConfig.ticker,
44
+ decimals: chainConfig.decimals || 18
45
+ }
46
+ }]
47
+ });
48
+ }
49
+ async setupProvider(injectedProvider) {
50
+ this.handleInjectedProviderUpdate(injectedProvider);
51
+ const {
52
+ chainNamespace
53
+ } = this.config.chainConfig;
54
+ if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
55
+ await this.setupEngine(injectedProvider);
56
+ }
57
+ async lookupNetwork() {
58
+ if (!this.provider) throw providerErrors.custom({
59
+ message: "Torus solana provider is not initialized",
60
+ code: 4902
61
+ });
62
+ const {
63
+ chainId
64
+ } = this.config.chainConfig;
65
+ const connectedChainId = await this.provider.request({
66
+ method: "solana_chainId"
67
+ });
68
+ const connectedHexChainId = isHexStrict(connectedChainId.toString()) ? connectedChainId : `0x${parseInt(connectedChainId, 10).toString(16)}`;
69
+ if (chainId !== connectedHexChainId) throw WalletInitializationError.rpcConnectionError(`Invalid network, net_version is: ${connectedHexChainId}, expected: ${chainId}`);
70
+ this.update({
71
+ chainId: connectedHexChainId
72
+ });
73
+ this.emit("connect", {
74
+ chainId: this.state.chainId
75
+ });
76
+ this.emit("chainChanged", this.state.chainId);
77
+ return this.state.chainId;
78
+ }
79
+ async setupEngine(injectedProvider) {
80
+ const providerHandlers = getTorusHandlers(injectedProvider);
81
+ const solanaMiddleware = createSolanaMiddleware(providerHandlers);
82
+ const injectedProviderProxy = createInjectedProviderProxyMiddleware(injectedProvider);
83
+ const engine = new JRPCEngine();
84
+ engine.push(solanaMiddleware);
85
+ engine.push(injectedProviderProxy);
86
+ const provider = providerFromEngine(engine);
87
+ this.updateProviderEngineProxy(provider);
88
+ await this.lookupNetwork();
89
+ }
90
+ async handleInjectedProviderUpdate(injectedProvider) {
91
+ injectedProvider.on("accountsChanged", async accounts => {
92
+ this.emit("accountsChanged", accounts);
93
+ });
94
+ injectedProvider.on("chainChanged", async chainId => {
95
+ const connectedHexChainId = isHexStrict(chainId) ? chainId : `0x${parseInt(chainId, 10).toString(16)}`;
96
+ // Check if chainId changed and trigger event
97
+ this.configure({
98
+ chainConfig: _objectSpread(_objectSpread({}, this.config.chainConfig), {}, {
99
+ chainId: connectedHexChainId
100
+ })
101
+ });
102
+ await this.setupProvider(injectedProvider);
103
+ });
104
+ }
105
+ }
106
+
107
+ export { TorusInjectedProvider };
@@ -0,0 +1,10 @@
1
+ import { BaseInjectedProvider } from './base/baseInjectedProvider.js';
2
+ import { getBaseProviderHandlers } from './base/providerHandlers.js';
3
+
4
+ class WalletStandardProvider extends BaseInjectedProvider {
5
+ getProviderHandlers(injectedProvider) {
6
+ return getBaseProviderHandlers(injectedProvider);
7
+ }
8
+ }
9
+
10
+ export { WalletStandardProvider };
@@ -0,0 +1,178 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { providerErrors, getED25519Key, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
3
+ import { CHAIN_NAMESPACES } from '../../../../base/chain/IChainInterface.js';
4
+ import { WalletInitializationError } from '../../../../base/errors/index.js';
5
+ import { createSolanaJsonRpcClient } from '../../rpc/JrpcClient.js';
6
+ import { createSolanaMiddleware, createSolanaChainSwitchMiddleware, createSolanaAccountMiddleware } from '../../rpc/solanaRpcMiddlewares.js';
7
+ import { getProviderHandlers } from './solanaPrivateKeyUtils.js';
8
+ import { BaseProvider } from '../../../base-provider/baseProvider.js';
9
+
10
+ var _SolanaPrivateKeyProvider;
11
+ class SolanaPrivateKeyProvider extends BaseProvider {
12
+ constructor({
13
+ config,
14
+ state
15
+ }) {
16
+ super({
17
+ config,
18
+ state
19
+ });
20
+ _defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.SOLANA);
21
+ }
22
+ async enable() {
23
+ if (!this.state.privateKey) throw providerErrors.custom({
24
+ message: "Private key is not found in state, plz pass it in constructor state param",
25
+ code: 4902
26
+ });
27
+ await this.setupProvider(this.state.privateKey);
28
+ return this._providerEngineProxy.request({
29
+ method: "eth_accounts"
30
+ });
31
+ }
32
+ getEd25519Key(privateKey) {
33
+ return getED25519Key(privateKey).sk.toString("hex").padStart(128, "0");
34
+ }
35
+ async setupProvider(privKey) {
36
+ const {
37
+ chainNamespace
38
+ } = this.config.chainConfig;
39
+ if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
40
+ const providerHandlers = await getProviderHandlers({
41
+ privKey,
42
+ getProviderEngineProxy: this.getProviderEngineProxy.bind(this),
43
+ keyExportEnabled: this.config.keyExportEnabled
44
+ });
45
+ const solanaMiddleware = createSolanaMiddleware(providerHandlers);
46
+ const engine = new JRPCEngine();
47
+ const {
48
+ networkMiddleware
49
+ } = createSolanaJsonRpcClient(this.config.chainConfig);
50
+ engine.push(this.getChainSwitchMiddleware());
51
+ engine.push(this.getAccountMiddleware());
52
+ engine.push(solanaMiddleware);
53
+ engine.push(networkMiddleware);
54
+ const provider = providerFromEngine(engine);
55
+ this.updateProviderEngineProxy(provider);
56
+ await this.lookupNetwork();
57
+ }
58
+ async updateAccount(params) {
59
+ if (!this._providerEngineProxy) throw providerErrors.custom({
60
+ message: "Provider is not initialized",
61
+ code: 4902
62
+ });
63
+ const existingKey = await this._providerEngineProxy.request({
64
+ method: "solanaPrivateKey"
65
+ });
66
+ if (existingKey !== params.privateKey) {
67
+ await this.setupProvider(params.privateKey);
68
+ const accounts = await this._providerEngineProxy.request({
69
+ method: "requestAccounts"
70
+ });
71
+ this.emit("accountsChanged", accounts);
72
+ }
73
+ }
74
+ async switchChain(params) {
75
+ if (!this._providerEngineProxy) throw providerErrors.custom({
76
+ message: "Provider is not initialized",
77
+ code: 4902
78
+ });
79
+ const chainConfig = this.getChainConfig(params.chainId);
80
+ this.update({
81
+ chainId: "loading"
82
+ });
83
+ this.configure({
84
+ chainConfig
85
+ });
86
+ const privKey = await this._providerEngineProxy.request({
87
+ method: "solanaPrivateKey"
88
+ });
89
+ await this.setupProvider(privKey);
90
+ }
91
+ async lookupNetwork() {
92
+ if (!this._providerEngineProxy) throw providerErrors.custom({
93
+ message: "Provider is not initialized",
94
+ code: 4902
95
+ });
96
+ const health = await this._providerEngineProxy.request({
97
+ method: "getHealth",
98
+ params: []
99
+ });
100
+ const {
101
+ chainConfig
102
+ } = this.config;
103
+ if (health !== "ok") throw WalletInitializationError.rpcConnectionError(`Failed to lookup network for following rpc target: ${chainConfig.rpcTarget}`);
104
+ this.update({
105
+ chainId: chainConfig.chainId
106
+ });
107
+ if (this.state.chainId !== chainConfig.chainId) {
108
+ this.emit("chainChanged", this.state.chainId);
109
+ this.emit("connect", {
110
+ chainId: this.state.chainId
111
+ });
112
+ }
113
+ return this.state.chainId;
114
+ }
115
+ getChainSwitchMiddleware() {
116
+ const chainSwitchHandlers = {
117
+ addNewChainConfig: async req => {
118
+ if (!req.params) throw rpcErrors.invalidParams("Missing request params");
119
+ const {
120
+ chainId,
121
+ chainName,
122
+ rpcUrls,
123
+ blockExplorerUrls,
124
+ nativeCurrency,
125
+ iconUrls
126
+ } = req.params;
127
+ if (!chainId) throw rpcErrors.invalidParams("Missing chainId in chainParams");
128
+ if (!rpcUrls || rpcUrls.length === 0) throw rpcErrors.invalidParams("Missing rpcUrls in chainParams");
129
+ if (!nativeCurrency) throw rpcErrors.invalidParams("Missing nativeCurrency in chainParams");
130
+ this.addChain({
131
+ chainNamespace: CHAIN_NAMESPACES.SOLANA,
132
+ chainId,
133
+ ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "SOL",
134
+ tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Solana",
135
+ displayName: chainName,
136
+ rpcTarget: rpcUrls[0],
137
+ blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
138
+ decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 9,
139
+ logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/sol.svg"
140
+ });
141
+ },
142
+ switchSolanaChain: async req => {
143
+ if (!req.params) throw rpcErrors.invalidParams("Missing request params");
144
+ if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
145
+ await this.switchChain(req.params);
146
+ }
147
+ };
148
+ const chainSwitchMiddleware = createSolanaChainSwitchMiddleware(chainSwitchHandlers);
149
+ return chainSwitchMiddleware;
150
+ }
151
+ getAccountMiddleware() {
152
+ const accountHandlers = {
153
+ updatePrivatekey: async req => {
154
+ if (!req.params) throw rpcErrors.invalidParams("Missing request params");
155
+ if (!req.params.privateKey) throw rpcErrors.invalidParams("Missing privateKey");
156
+ const {
157
+ privateKey
158
+ } = req.params;
159
+ await this.updateAccount({
160
+ privateKey
161
+ });
162
+ }
163
+ };
164
+ return createSolanaAccountMiddleware(accountHandlers);
165
+ }
166
+ }
167
+ _SolanaPrivateKeyProvider = SolanaPrivateKeyProvider;
168
+ _defineProperty(SolanaPrivateKeyProvider, "getProviderInstance", async params => {
169
+ const providerFactory = new _SolanaPrivateKeyProvider({
170
+ config: {
171
+ chainConfig: params.chainConfig
172
+ }
173
+ });
174
+ await providerFactory.setupProvider(params.privKey);
175
+ return providerFactory;
176
+ });
177
+
178
+ export { SolanaPrivateKeyProvider };