@web3auth/no-modal 9.7.0 → 10.0.0-alpha.1

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 (307) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
  2. package/dist/lib.cjs/base/chain/config.js +322 -0
  3. package/dist/lib.cjs/base/composables/index.js +5 -0
  4. package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
  5. package/dist/lib.cjs/base/connector/constants.js +26 -0
  6. package/dist/lib.cjs/base/connector/utils.js +66 -0
  7. package/dist/lib.cjs/base/errors/index.js +244 -0
  8. package/dist/lib.cjs/base/loglevel.js +7 -0
  9. package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
  10. package/dist/lib.cjs/base/plugin/errors.js +107 -0
  11. package/dist/lib.cjs/base/provider/IProvider.js +8 -0
  12. package/dist/lib.cjs/base/utils.js +56 -0
  13. package/dist/lib.cjs/base/wallet/index.js +26 -0
  14. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
  15. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +75 -0
  16. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +77 -0
  17. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
  18. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  19. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +176 -0
  20. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  21. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +147 -0
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +228 -0
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +180 -0
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
  25. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
  26. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +152 -0
  27. package/dist/lib.cjs/index.js +218 -0
  28. package/dist/lib.cjs/noModal.js +307 -247
  29. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
  30. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
  31. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +76 -0
  32. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
  33. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +129 -0
  34. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  35. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +232 -0
  36. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
  37. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
  38. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +74 -0
  39. package/dist/lib.cjs/providers/base-provider/baseProvider.js +132 -0
  40. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +78 -0
  41. package/dist/lib.cjs/providers/base-provider/index.js +18 -0
  42. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
  43. package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
  44. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +176 -0
  45. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
  46. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
  47. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
  48. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
  49. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
  50. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
  51. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
  52. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
  53. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +46 -0
  54. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
  55. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
  56. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
  57. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
  58. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +16 -0
  59. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +93 -0
  60. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +150 -0
  61. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +94 -0
  62. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
  63. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
  64. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +88 -0
  65. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +123 -0
  66. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
  67. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
  68. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +71 -0
  69. package/dist/lib.cjs/react/index.js +16 -0
  70. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +192 -0
  71. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
  72. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
  73. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +89 -0
  74. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
  75. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
  76. package/dist/lib.cjs/vue/index.js +15 -0
  77. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +196 -0
  78. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
  79. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +90 -0
  80. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
  81. package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
  82. package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
  83. package/dist/lib.esm/base/chain/config.js +317 -0
  84. package/dist/lib.esm/base/composables/index.js +3 -0
  85. package/dist/lib.esm/base/connector/baseConnector.js +65 -0
  86. package/dist/lib.esm/base/connector/constants.js +22 -0
  87. package/dist/lib.esm/base/connector/utils.js +60 -0
  88. package/dist/lib.esm/base/errors/index.js +237 -0
  89. package/dist/lib.esm/base/loglevel.js +5 -0
  90. package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
  91. package/dist/lib.esm/base/plugin/errors.js +104 -0
  92. package/dist/lib.esm/base/provider/IProvider.js +6 -0
  93. package/dist/lib.esm/base/utils.js +46 -0
  94. package/dist/lib.esm/base/wallet/index.js +20 -0
  95. package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
  96. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +73 -0
  97. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +75 -0
  98. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
  99. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  100. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +173 -0
  101. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  102. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +144 -0
  103. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +226 -0
  104. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +169 -0
  105. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  106. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
  107. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +146 -0
  108. package/dist/lib.esm/index.js +53 -0
  109. package/dist/lib.esm/noModal.js +294 -234
  110. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
  111. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
  112. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +74 -0
  113. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
  114. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +119 -0
  115. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  116. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +227 -0
  117. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
  118. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
  119. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +72 -0
  120. package/dist/lib.esm/providers/base-provider/baseProvider.js +130 -0
  121. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +76 -0
  122. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  123. package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
  124. package/dist/lib.esm/providers/base-provider/utils.js +6 -0
  125. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +174 -0
  126. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
  127. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
  128. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
  129. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
  130. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
  131. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
  132. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
  133. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
  134. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +43 -0
  135. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
  136. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
  137. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +47 -0
  138. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +43 -0
  139. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +14 -0
  140. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +91 -0
  141. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +148 -0
  142. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +92 -0
  143. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
  144. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
  145. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +86 -0
  146. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +121 -0
  147. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
  148. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
  149. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +65 -0
  150. package/dist/lib.esm/react/index.js +5 -0
  151. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +189 -0
  152. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
  153. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
  154. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +86 -0
  155. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
  156. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
  157. package/dist/lib.esm/vue/index.js +5 -0
  158. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +194 -0
  159. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
  160. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +88 -0
  161. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
  162. package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
  163. package/dist/noModal.cjs.js +14559 -321
  164. package/dist/noModal.umd.min.js +1 -1
  165. package/dist/noModal.umd.min.js.LICENSE.txt +45 -0
  166. package/dist/types/base/chain/IChainInterface.d.ts +59 -0
  167. package/dist/types/base/chain/config.d.ts +5 -0
  168. package/dist/types/base/composables/index.d.ts +1 -0
  169. package/dist/types/base/connector/baseConnector.d.ts +37 -0
  170. package/dist/types/base/connector/constants.d.ts +25 -0
  171. package/dist/types/base/connector/index.d.ts +4 -0
  172. package/dist/types/base/connector/interfaces.d.ts +145 -0
  173. package/dist/types/base/connector/utils.d.ts +5 -0
  174. package/dist/types/base/core/IWeb3Auth.d.ts +142 -0
  175. package/dist/types/base/errors/index.d.ts +69 -0
  176. package/dist/types/base/hooks/index.d.ts +33 -0
  177. package/dist/types/base/index.d.ts +13 -0
  178. package/dist/types/base/interfaces.d.ts +44 -0
  179. package/dist/types/base/loglevel.d.ts +2 -0
  180. package/dist/types/base/plugin/IPlugin.d.ts +50 -0
  181. package/dist/types/base/plugin/errors.d.ts +28 -0
  182. package/dist/types/base/plugin/index.d.ts +2 -0
  183. package/dist/types/base/provider/IProvider.d.ts +16 -0
  184. package/dist/types/base/utils.d.ts +9 -0
  185. package/dist/types/base/wallet/index.d.ts +29 -0
  186. package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
  187. package/dist/types/connectors/auth-connector/index.d.ts +2 -0
  188. package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
  189. package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  190. package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
  191. package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  192. package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
  193. package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  194. package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
  195. package/dist/types/connectors/index.d.ts +7 -0
  196. package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
  197. package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  198. package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
  199. package/dist/types/connectors/injected-solana-connector/utils.d.ts +3 -0
  200. package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  201. package/dist/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +35 -0
  202. package/dist/types/connectors/wallet-connect-v2-connector/config.d.ts +35 -0
  203. package/dist/types/connectors/wallet-connect-v2-connector/index.d.ts +4 -0
  204. package/dist/types/connectors/wallet-connect-v2-connector/interface.d.ts +18 -0
  205. package/dist/types/connectors/wallet-connect-v2-connector/utils.d.ts +3 -0
  206. package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  207. package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +18 -0
  208. package/dist/types/index.d.ts +4 -0
  209. package/dist/types/noModal.d.ts +29 -14
  210. package/dist/types/plugins/index.d.ts +2 -0
  211. package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
  212. package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
  213. package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
  214. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +27 -0
  215. package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
  216. package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
  217. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +27 -0
  218. package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
  219. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +48 -0
  220. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +2 -0
  221. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -0
  222. package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
  223. package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
  224. package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
  225. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
  226. package/dist/types/providers/base-provider/baseProvider.d.ts +42 -0
  227. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +29 -0
  228. package/dist/types/providers/base-provider/index.d.ts +5 -0
  229. package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
  230. package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
  231. package/dist/types/providers/base-provider/utils.d.ts +2 -0
  232. package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  233. package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
  234. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +74 -0
  235. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
  236. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
  237. package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
  238. package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
  239. package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
  240. package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
  241. package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
  242. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
  243. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
  244. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
  245. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
  246. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
  247. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +1 -0
  248. package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
  249. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -0
  250. package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
  251. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +52 -0
  252. package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
  253. package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
  254. package/dist/types/providers/index.d.ts +6 -0
  255. package/dist/types/providers/solana-provider/index.d.ts +4 -0
  256. package/dist/types/providers/solana-provider/interface.d.ts +22 -0
  257. package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
  258. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
  259. package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
  260. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +2 -0
  261. package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  262. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +9 -0
  263. package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
  264. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
  265. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
  266. package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
  267. package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
  268. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +27 -0
  269. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
  270. package/dist/types/providers/solana-provider/solanaWallet.d.ts +28 -0
  271. package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
  272. package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
  273. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
  274. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
  275. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
  276. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
  277. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
  278. package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
  279. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +49 -0
  280. package/dist/types/react/index.d.ts +2 -0
  281. package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
  282. package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
  283. package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
  284. package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
  285. package/dist/types/react/no-modal/index.d.ts +3 -0
  286. package/dist/types/react/no-modal/interfaces.d.ts +15 -0
  287. package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
  288. package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
  289. package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
  290. package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
  291. package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
  292. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
  293. package/dist/types/vue/index.d.ts +2 -0
  294. package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
  295. package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
  296. package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
  297. package/dist/types/vue/no-modal/index.d.ts +3 -0
  298. package/dist/types/vue/no-modal/interfaces.d.ts +39 -0
  299. package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
  300. package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
  301. package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
  302. package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
  303. package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
  304. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
  305. package/package.json +77 -15
  306. package/README.md +0 -82
  307. package/dist/noModal.esm.js +0 -359
@@ -0,0 +1,132 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import { isHexString, addHexPrefix } from '@ethereumjs/util';
3
+ import { providerErrors } from '@web3auth/auth';
4
+ import { createWalletClient, http } from 'viem';
5
+ import { log } from '../../../base/loglevel.js';
6
+
7
+ function getProviderHandlers({
8
+ bundlerClient,
9
+ smartAccount,
10
+ chain,
11
+ eoaProvider
12
+ }) {
13
+ const walletClient = createWalletClient({
14
+ account: smartAccount,
15
+ chain,
16
+ transport: http()
17
+ });
18
+ return {
19
+ getAccounts: async _ => {
20
+ const [smartAccounts, eoaAccounts] = await Promise.all([smartAccount.getAddress(), eoaProvider.request({
21
+ method: "eth_accounts"
22
+ })]);
23
+ log.info("smartAccounts", smartAccounts);
24
+ log.info("eoaAccounts", eoaAccounts);
25
+ return [smartAccounts, ...eoaAccounts];
26
+ },
27
+ getPrivateKey: async _ => {
28
+ throw providerErrors.custom({
29
+ message: "Smart accounts do not have private key",
30
+ code: 4903
31
+ });
32
+ },
33
+ getPublicKey: async _ => {
34
+ throw providerErrors.custom({
35
+ message: "Smart accounts do not have a public key. Use address instead.",
36
+ code: 4903
37
+ });
38
+ },
39
+ processTransaction: async txParams => {
40
+ if (txParams.input && !txParams.data) txParams.data = addHexPrefix(txParams.input);
41
+ const {
42
+ to,
43
+ value,
44
+ data
45
+ } = txParams;
46
+ // @ts-expect-error viem types are too deep
47
+ const userOperationParams = {
48
+ account: smartAccount,
49
+ calls: [{
50
+ to,
51
+ // Explicit conversation required to avoid value being passed as hex
52
+ value: BigInt(value),
53
+ data
54
+ }]
55
+ // should not use maxFeePerGas/maxPriorityFeePerGas from transaction params since that's fee for transaction not user operation and let bundler handle it instead
56
+ };
57
+ const userOpHash = await bundlerClient.sendUserOperation(userOperationParams);
58
+ const txReceipt = await bundlerClient.waitForUserOperationReceipt({
59
+ hash: userOpHash
60
+ });
61
+ if (!txReceipt.success) {
62
+ throw providerErrors.custom({
63
+ message: txReceipt.reason,
64
+ code: 4905
65
+ });
66
+ }
67
+ return txReceipt.receipt.transactionHash;
68
+ },
69
+ processSignTransaction: async txParams => {
70
+ const {
71
+ to,
72
+ value,
73
+ data
74
+ } = txParams;
75
+ const request = await bundlerClient.prepareUserOperation({
76
+ account: smartAccount,
77
+ calls: [{
78
+ to,
79
+ value: BigInt(value),
80
+ data
81
+ }]
82
+ });
83
+ const signature = await smartAccount.signUserOperation({
84
+ callData: request.callData,
85
+ callGasLimit: request.callGasLimit,
86
+ maxFeePerGas: request.maxFeePerGas,
87
+ maxPriorityFeePerGas: request.maxPriorityFeePerGas,
88
+ nonce: request.nonce,
89
+ preVerificationGas: request.preVerificationGas,
90
+ verificationGasLimit: request.verificationGasLimit,
91
+ signature: request.signature
92
+ });
93
+ return signature;
94
+ },
95
+ processEthSignMessage: async (_, req) => {
96
+ return eoaProvider.request(req);
97
+ },
98
+ processPersonalMessage: async (msgParams, _) => {
99
+ const message = msgParams.data;
100
+ return walletClient.signMessage({
101
+ account: smartAccount,
102
+ message: isHexString(message) ? {
103
+ raw: message
104
+ } : message
105
+ });
106
+ },
107
+ processTypedMessageV4: async (msgParams, _) => {
108
+ try {
109
+ const data = typeof msgParams.data === "string" ? JSON.parse(msgParams.data) : msgParams.data;
110
+ const signature = await walletClient.signTypedData({
111
+ account: smartAccount,
112
+ domain: _objectSpread(_objectSpread({}, data.domain), {}, {
113
+ verifyingContract: data.domain.verifyingContract,
114
+ salt: data.domain.salt,
115
+ chainId: Number(data.domain.chainId)
116
+ }),
117
+ primaryType: data.primaryType,
118
+ types: data.types,
119
+ message: data.message
120
+ });
121
+ return signature;
122
+ } catch (error) {
123
+ throw providerErrors.custom({
124
+ message: error instanceof Error ? error.message : "Failed to sign typed data",
125
+ code: 4905
126
+ });
127
+ }
128
+ }
129
+ };
130
+ }
131
+
132
+ export { getProviderHandlers };
@@ -0,0 +1,171 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import { createScaffoldMiddleware, createAsyncMiddleware, rpcErrors } from '@web3auth/auth';
3
+
4
+ async function createAaMiddleware({
5
+ eoaProvider,
6
+ handlers
7
+ }) {
8
+ const [eoaAddress] = await eoaProvider.request({
9
+ method: "eth_accounts"
10
+ });
11
+
12
+ /**
13
+ * Validates the keyholder address, and returns a normalized (i.e. lowercase)
14
+ * copy of it.
15
+ *
16
+ * an error
17
+ */
18
+ async function validateAndNormalizeKeyholder(address, req) {
19
+ if (typeof address === "string" && address.length > 0) {
20
+ // ensure address is included in provided accounts
21
+ const accounts = await handlers.getAccounts(req);
22
+ const normalizedAccounts = accounts.map(_address => _address.toLowerCase());
23
+ const normalizedAddress = address.toLowerCase();
24
+ if (normalizedAccounts.includes(normalizedAddress)) {
25
+ return normalizedAddress;
26
+ }
27
+ }
28
+ throw rpcErrors.invalidParams({
29
+ message: `Invalid parameters: must provide an Ethereum address.`
30
+ });
31
+ }
32
+ async function normalizeSignSenderAddress(address, req) {
33
+ // sender is EOA address
34
+ if (address.toLowerCase() === eoaAddress.toLowerCase()) {
35
+ return eoaAddress;
36
+ }
37
+ const [smartAccountAddress] = await handlers.getAccounts(req);
38
+ // sender is smart account address
39
+ if (address.toLowerCase() === smartAccountAddress.toLowerCase()) {
40
+ // use EOA address as sender for signing
41
+ return eoaAddress;
42
+ }
43
+ throw rpcErrors.invalidParams({
44
+ message: `Invalid parameters: must provide valid sender address.`
45
+ });
46
+ }
47
+ async function lookupAccounts(req, res) {
48
+ res.result = await handlers.getAccounts(req);
49
+ }
50
+ async function fetchPrivateKey(req, res) {
51
+ if (!handlers.getPrivateKey) {
52
+ throw rpcErrors.methodNotSupported();
53
+ }
54
+ res.result = await handlers.getPrivateKey(req);
55
+ }
56
+ async function sendTransaction(req, res) {
57
+ if (!handlers.processTransaction) {
58
+ throw rpcErrors.methodNotSupported();
59
+ }
60
+ const txParams = req.params[0] || {
61
+ from: ""
62
+ };
63
+ txParams.from = await validateAndNormalizeKeyholder(txParams.from, req);
64
+ res.result = handlers.processTransaction(txParams, req);
65
+ }
66
+ async function signTransaction(req, res) {
67
+ const txParams = req.params[0] || {
68
+ from: ""
69
+ };
70
+
71
+ // normalize sender address
72
+ if (txParams.from) {
73
+ txParams.from = await normalizeSignSenderAddress(txParams.from, req);
74
+ }
75
+ res.result = await handlers.processSignTransaction(txParams, req);
76
+ }
77
+ async function ethSign(req, res) {
78
+ let msgParams = req.params;
79
+ const extraParams = req.params[2] || {};
80
+ if (Array.isArray(req.params)) {
81
+ if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, message]`);
82
+ const params = req.params;
83
+ const address = params[0];
84
+ const message = params[1];
85
+ msgParams = {
86
+ from: address,
87
+ data: message
88
+ };
89
+ }
90
+ msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
91
+ res.result = await handlers.processEthSignMessage(msgParams, req);
92
+ }
93
+ async function signTypedDataV4(req, res) {
94
+ if (!(req !== null && req !== void 0 && req.params)) throw new Error("WalletMiddleware - missing params");
95
+ let msgParams = req.params;
96
+ if (Array.isArray(req.params)) {
97
+ if (!(req.params.length === 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [address, typedData]`);
98
+ const params = req.params;
99
+ const address = params[0];
100
+ const message = params[1];
101
+ msgParams = {
102
+ from: address,
103
+ data: message
104
+ };
105
+ }
106
+ res.result = await handlers.processTypedMessageV4(msgParams, req);
107
+ }
108
+ async function personalSign(req, res) {
109
+ let msgParams = req.params;
110
+ const extraParams = req.params[2] || {};
111
+ if (Array.isArray(req.params)) {
112
+ if (!(req.params.length >= 2)) throw new Error(`WalletMiddleware - incorrect params for ${req.method} method. expected [message, address]`);
113
+ const params = req.params;
114
+ if (typeof params[0] === "object") {
115
+ const {
116
+ challenge,
117
+ address
118
+ } = params[0];
119
+ msgParams = {
120
+ from: address,
121
+ data: challenge
122
+ };
123
+ } else {
124
+ const message = params[0];
125
+ const address = params[1];
126
+ msgParams = {
127
+ from: address,
128
+ data: message
129
+ };
130
+ }
131
+ }
132
+ msgParams = _objectSpread(_objectSpread({}, extraParams), msgParams);
133
+ res.result = await handlers.processPersonalMessage(msgParams, req);
134
+ }
135
+ async function fetchPublicKey(req, res) {
136
+ if (!handlers.getPublicKey) {
137
+ throw rpcErrors.methodNotSupported();
138
+ }
139
+ res.result = await handlers.getPublicKey(req);
140
+ }
141
+ return createScaffoldMiddleware({
142
+ // account lookups
143
+ eth_accounts: createAsyncMiddleware(lookupAccounts),
144
+ eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
145
+ eth_private_key: createAsyncMiddleware(fetchPrivateKey),
146
+ private_key: createAsyncMiddleware(fetchPrivateKey),
147
+ eth_public_key: createAsyncMiddleware(fetchPublicKey),
148
+ public_key: createAsyncMiddleware(fetchPublicKey),
149
+ // tx signatures
150
+ eth_sendTransaction: createAsyncMiddleware(sendTransaction),
151
+ eth_signTransaction: createAsyncMiddleware(signTransaction),
152
+ // message signatures
153
+ eth_sign: createAsyncMiddleware(ethSign),
154
+ eth_signTypedData_v4: createAsyncMiddleware(signTypedDataV4),
155
+ personal_sign: createAsyncMiddleware(personalSign)
156
+ });
157
+ }
158
+ function eoaProviderAsMiddleware(provider) {
159
+ return async (req, res, _next, end) => {
160
+ // send request to provider
161
+ try {
162
+ const providerRes = await provider.request(req);
163
+ res.result = providerRes;
164
+ return end();
165
+ } catch (error) {
166
+ return end(error);
167
+ }
168
+ };
169
+ }
170
+
171
+ export { createAaMiddleware, eoaProviderAsMiddleware };
@@ -0,0 +1,72 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
3
+ import { BaseProvider } from './baseProvider.js';
4
+ import { createJsonRpcClient } from './jrpcClient.js';
5
+
6
+ var _CommonJRPCProvider;
7
+ class CommonJRPCProvider extends BaseProvider {
8
+ constructor({
9
+ config,
10
+ state
11
+ }) {
12
+ super({
13
+ config,
14
+ state
15
+ });
16
+ }
17
+ async setupProvider(chainId) {
18
+ const chain = this.getChain(chainId);
19
+ if (!chain) throw providerErrors.custom({
20
+ message: "Chain not found",
21
+ code: 4902
22
+ });
23
+ const {
24
+ networkMiddleware
25
+ } = createJsonRpcClient(chain);
26
+ const engine = new JRPCEngine();
27
+ engine.push(networkMiddleware);
28
+ const provider = providerFromEngine(engine);
29
+ this.updateProviderEngineProxy(provider);
30
+ this.emit("chainChanged", chainId);
31
+ this.emit("connect", {
32
+ chainId
33
+ });
34
+ this.update({
35
+ chainId
36
+ });
37
+ }
38
+ async switchChain(params) {
39
+ if (!this._providerEngineProxy) throw providerErrors.custom({
40
+ message: "Provider is not initialized",
41
+ code: 4902
42
+ });
43
+ const newChainId = params.chainId;
44
+ if (this.chainId === newChainId) return;
45
+ this.update({
46
+ chainId: "loading"
47
+ });
48
+ await this.setupProvider(newChainId);
49
+ }
50
+ getProviderEngineProxy() {
51
+ return this._providerEngineProxy;
52
+ }
53
+ lookupNetwork() {
54
+ throw new Error("Method not implemented.");
55
+ }
56
+ }
57
+ _CommonJRPCProvider = CommonJRPCProvider;
58
+ _defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
59
+ const providerFactory = new _CommonJRPCProvider({
60
+ config: {
61
+ chain: params.chain,
62
+ chains: params.chains
63
+ }
64
+ });
65
+ const {
66
+ chainId
67
+ } = params.chain;
68
+ await providerFactory.setupProvider(chainId);
69
+ return providerFactory;
70
+ });
71
+
72
+ export { CommonJRPCProvider };
@@ -0,0 +1,130 @@
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { BaseController, createEventEmitterProxy } from '@toruslabs/base-controllers';
4
+ import { rpcErrors } from '@web3auth/auth';
5
+ import { WalletInitializationError, WalletProviderError } from '../../base/errors/index.js';
6
+
7
+ class BaseProvider extends BaseController {
8
+ constructor({
9
+ config,
10
+ state
11
+ }) {
12
+ super({
13
+ config,
14
+ state
15
+ });
16
+ // should be Assigned in setupProvider
17
+ _defineProperty(this, "_providerEngineProxy", null);
18
+ // set to true when the keyExportEnabled flag is set by code.
19
+ // This is to prevent the flag from being overridden by the dashboard config.
20
+ _defineProperty(this, "keyExportFlagSetByCode", false);
21
+ const {
22
+ chain
23
+ } = config;
24
+ if (!chain) throw WalletInitializationError.invalidProviderConfigError("Please provide chain");
25
+ if (!chain.chainId) throw WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chain");
26
+ if (!chain.rpcTarget) throw WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chain");
27
+ if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
28
+ this.defaultState = {
29
+ chainId: "loading"
30
+ };
31
+ this.defaultConfig = {
32
+ chain: config.chain,
33
+ chains: config.chains,
34
+ keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
35
+ };
36
+ super.initialize();
37
+ }
38
+ get currentChain() {
39
+ return this.config.chains.find(chain => chain.chainId === this.state.chainId);
40
+ }
41
+ get provider() {
42
+ return this._providerEngineProxy;
43
+ }
44
+ get chainId() {
45
+ return this.state.chainId;
46
+ }
47
+ set provider(_) {
48
+ throw new Error("Method not implemented.");
49
+ }
50
+ async request(args) {
51
+ var _this$provider;
52
+ if (!args || typeof args !== "object" || Array.isArray(args)) {
53
+ throw rpcErrors.invalidRequest({
54
+ message: WalletProviderError.invalidRequestArgs().message,
55
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
56
+ cause: WalletProviderError.invalidRequestArgs().message
57
+ })
58
+ });
59
+ }
60
+ const {
61
+ method,
62
+ params
63
+ } = args;
64
+ if (typeof method !== "string" || method.length === 0) {
65
+ throw rpcErrors.invalidRequest({
66
+ message: WalletProviderError.invalidRequestMethod().message,
67
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
68
+ cause: WalletProviderError.invalidRequestMethod().message
69
+ })
70
+ });
71
+ }
72
+ if (params !== undefined && !Array.isArray(params) && (typeof params !== "object" || params === null)) {
73
+ throw rpcErrors.invalidRequest({
74
+ message: WalletProviderError.invalidRequestParams().message,
75
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
76
+ cause: WalletProviderError.invalidRequestParams().message
77
+ })
78
+ });
79
+ }
80
+ return (_this$provider = this.provider) === null || _this$provider === void 0 ? void 0 : _this$provider.request(args);
81
+ }
82
+ sendAsync(req, callback) {
83
+ if (callback) return this.send(req, callback);
84
+ return this.request(req);
85
+ }
86
+ send(req, callback) {
87
+ this.request(req).then(res => callback(null, {
88
+ result: res
89
+ })).catch(err => callback(err, null));
90
+ }
91
+ updateProviderEngineProxy(provider) {
92
+ if (this._providerEngineProxy) {
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
+ this._providerEngineProxy.setTarget(provider);
95
+ // re-emit events from provider
96
+ this._providerEngineProxy.eventNames().forEach(event => {
97
+ provider.on(event, (...args) => {
98
+ // eslint-disable-next-line
99
+ this.emit(event, ...args);
100
+ });
101
+ });
102
+ this.handleChainChangedProvider();
103
+ } else {
104
+ this._providerEngineProxy = createEventEmitterProxy(provider);
105
+ }
106
+ }
107
+ setKeyExportFlag(flag) {
108
+ if (!this.keyExportFlagSetByCode) {
109
+ this.configure({
110
+ keyExportEnabled: flag
111
+ });
112
+ }
113
+ }
114
+ getProviderEngineProxy() {
115
+ return this._providerEngineProxy;
116
+ }
117
+ getChain(chainId) {
118
+ return this.config.chains.find(chain => chain.chainId === chainId);
119
+ }
120
+ handleChainChangedProvider() {
121
+ // This is only added because we don't have ethereum and solana private key providers anymore
122
+ this.provider.on("chainChanged", chainId => {
123
+ this.update({
124
+ chainId
125
+ });
126
+ });
127
+ }
128
+ }
129
+
130
+ export { BaseProvider };
@@ -0,0 +1,76 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { JRPCEngine, providerFromEngine, createScaffoldMiddleware, createAsyncMiddleware } from '@web3auth/auth';
3
+ import { BaseProvider } from './baseProvider.js';
4
+
5
+ var _CommonPrivateKeyProvider;
6
+ class CommonPrivateKeyProvider extends BaseProvider {
7
+ constructor({
8
+ config,
9
+ state
10
+ }) {
11
+ super({
12
+ config,
13
+ state
14
+ });
15
+ // should be Assigned in setupProvider
16
+ _defineProperty(this, "_providerEngineProxy", null);
17
+ }
18
+ get provider() {
19
+ return this._providerEngineProxy;
20
+ }
21
+ set provider(_) {
22
+ throw new Error("Method not implemented.");
23
+ }
24
+ async setupProvider(privKey) {
25
+ const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
26
+ const engine = new JRPCEngine();
27
+ engine.push(privKeyMiddleware);
28
+ const provider = providerFromEngine(engine);
29
+ this.updateProviderEngineProxy(provider);
30
+ }
31
+ async switchChain(_) {
32
+ return Promise.resolve();
33
+ }
34
+ getProviderEngineProxy() {
35
+ return this._providerEngineProxy;
36
+ }
37
+ async lookupNetwork() {
38
+ return Promise.resolve("");
39
+ }
40
+ getPrivKeyMiddleware(privKey) {
41
+ const middleware = {
42
+ getPrivatekey: async () => {
43
+ if (!this.config.keyExportEnabled) throw new Error("Exporting private key is disabled. Please enable it in the provider config");
44
+ return privKey;
45
+ }
46
+ };
47
+ return this.createPrivKeyMiddleware(middleware);
48
+ }
49
+ createPrivKeyMiddleware({
50
+ getPrivatekey
51
+ }) {
52
+ async function getPrivatekeyHandler(_, res) {
53
+ try {
54
+ res.result = await getPrivatekey();
55
+ } catch (error) {
56
+ res.error = error instanceof Error ? error.message : error;
57
+ }
58
+ }
59
+ return createScaffoldMiddleware({
60
+ private_key: createAsyncMiddleware(getPrivatekeyHandler)
61
+ });
62
+ }
63
+ }
64
+ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
65
+ _defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
66
+ const providerFactory = new _CommonPrivateKeyProvider({
67
+ config: {
68
+ chain: params.chain,
69
+ chains: params.chains
70
+ }
71
+ });
72
+ await providerFactory.setupProvider(params.privKey);
73
+ return providerFactory;
74
+ });
75
+
76
+ export { CommonPrivateKeyProvider };
@@ -0,0 +1,5 @@
1
+ export { BaseProvider } from './baseProvider.js';
2
+ export { CommonJRPCProvider } from './CommonJRPCProvider.js';
3
+ export { CommonPrivateKeyProvider } from './commonPrivateKeyProvider.js';
4
+ export { createRandomId } from './utils.js';
5
+ export { getED25519Key } from '@web3auth/auth';
@@ -0,0 +1,37 @@
1
+ import { createFetchMiddleware } from '@toruslabs/base-controllers';
2
+ import { mergeMiddleware } from '@web3auth/auth';
3
+
4
+ function createChainIdMiddleware(chainId) {
5
+ return (req, res, next, end) => {
6
+ if (req.method === "chainId") {
7
+ res.result = chainId;
8
+ return end();
9
+ }
10
+ return next();
11
+ };
12
+ }
13
+ function createProviderConfigMiddleware(providerConfig) {
14
+ return (req, res, next, end) => {
15
+ if (req.method === "provider_config") {
16
+ res.result = providerConfig;
17
+ return end();
18
+ }
19
+ return next();
20
+ };
21
+ }
22
+ function createJsonRpcClient(providerConfig) {
23
+ const {
24
+ chainId,
25
+ rpcTarget
26
+ } = providerConfig;
27
+ const fetchMiddleware = createFetchMiddleware({
28
+ rpcTarget
29
+ });
30
+ const networkMiddleware = mergeMiddleware([createChainIdMiddleware(chainId), createProviderConfigMiddleware(providerConfig), fetchMiddleware]);
31
+ return {
32
+ networkMiddleware,
33
+ fetchMiddleware
34
+ };
35
+ }
36
+
37
+ export { createChainIdMiddleware, createJsonRpcClient, createProviderConfigMiddleware };
@@ -0,0 +1,6 @@
1
+ import getCreateRandomId from 'json-rpc-random-id';
2
+ export { getED25519Key } from '@web3auth/auth';
3
+
4
+ const createRandomId = getCreateRandomId();
5
+
6
+ export { createRandomId };