@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,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,77 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { createEventEmitterProxy } from '@toruslabs/base-controllers';
3
+ import { JRPCEngine, providerFromEngine, providerErrors } from '@web3auth/auth';
4
+ import { BaseProvider } from './baseProvider.js';
5
+ import { createJsonRpcClient } from './jrpcClient.js';
6
+
7
+ var _CommonJRPCProvider;
8
+ class CommonJRPCProvider extends BaseProvider {
9
+ constructor({
10
+ config,
11
+ state
12
+ }) {
13
+ super({
14
+ config,
15
+ state
16
+ });
17
+ }
18
+ async setupProvider() {
19
+ const {
20
+ networkMiddleware
21
+ } = createJsonRpcClient(this.config.chainConfig);
22
+ const engine = new JRPCEngine();
23
+ engine.push(networkMiddleware);
24
+ const provider = providerFromEngine(engine);
25
+ this.updateProviderEngineProxy(provider);
26
+ const newChainId = this.config.chainConfig.chainId;
27
+ if (this.state.chainId !== newChainId) {
28
+ this.emit("chainChanged", newChainId);
29
+ this.emit("connect", {
30
+ chainId: newChainId
31
+ });
32
+ }
33
+ this.update({
34
+ chainId: this.config.chainConfig.chainId
35
+ });
36
+ }
37
+ async switchChain(params) {
38
+ if (!this._providerEngineProxy) throw providerErrors.custom({
39
+ message: "Provider is not initialized",
40
+ code: 4902
41
+ });
42
+ const chainConfig = this.getChainConfig(params.chainId);
43
+ this.update({
44
+ chainId: "loading"
45
+ });
46
+ this.configure({
47
+ chainConfig
48
+ });
49
+ await this.setupProvider();
50
+ }
51
+ updateProviderEngineProxy(provider) {
52
+ if (this._providerEngineProxy) {
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ this._providerEngineProxy.setTarget(provider);
55
+ } else {
56
+ this._providerEngineProxy = createEventEmitterProxy(provider);
57
+ }
58
+ }
59
+ getProviderEngineProxy() {
60
+ return this._providerEngineProxy;
61
+ }
62
+ lookupNetwork() {
63
+ throw new Error("Method not implemented.");
64
+ }
65
+ }
66
+ _CommonJRPCProvider = CommonJRPCProvider;
67
+ _defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
68
+ const providerFactory = new _CommonJRPCProvider({
69
+ config: {
70
+ chainConfig: params.chainConfig
71
+ }
72
+ });
73
+ await providerFactory.setupProvider();
74
+ return providerFactory;
75
+ });
76
+
77
+ export { CommonJRPCProvider };
@@ -0,0 +1,125 @@
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
+ if (!config.chainConfig) throw WalletInitializationError.invalidProviderConfigError("Please provide chainConfig");
22
+ if (!config.chainConfig.chainId) throw WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chainConfig");
23
+ if (!config.chainConfig.rpcTarget) throw WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chainConfig");
24
+ if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
25
+ this.defaultState = {
26
+ chainId: "loading"
27
+ };
28
+ this.defaultConfig = {
29
+ chainConfig: config.chainConfig,
30
+ networks: {
31
+ [config.chainConfig.chainId]: config.chainConfig
32
+ },
33
+ keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
34
+ };
35
+ super.initialize();
36
+ }
37
+ get currentChainConfig() {
38
+ return this.config.chainConfig;
39
+ }
40
+ get provider() {
41
+ return this._providerEngineProxy;
42
+ }
43
+ get chainId() {
44
+ return this.state.chainId;
45
+ }
46
+ set provider(_) {
47
+ throw new Error("Method not implemented.");
48
+ }
49
+ async request(args) {
50
+ var _this$provider;
51
+ if (!args || typeof args !== "object" || Array.isArray(args)) {
52
+ throw rpcErrors.invalidRequest({
53
+ message: WalletProviderError.invalidRequestArgs().message,
54
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
55
+ cause: WalletProviderError.invalidRequestArgs().message
56
+ })
57
+ });
58
+ }
59
+ const {
60
+ method,
61
+ params
62
+ } = args;
63
+ if (typeof method !== "string" || method.length === 0) {
64
+ throw rpcErrors.invalidRequest({
65
+ message: WalletProviderError.invalidRequestMethod().message,
66
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
67
+ cause: WalletProviderError.invalidRequestMethod().message
68
+ })
69
+ });
70
+ }
71
+ if (params !== undefined && !Array.isArray(params) && (typeof params !== "object" || params === null)) {
72
+ throw rpcErrors.invalidRequest({
73
+ message: WalletProviderError.invalidRequestParams().message,
74
+ data: _objectSpread(_objectSpread({}, args || {}), {}, {
75
+ cause: WalletProviderError.invalidRequestParams().message
76
+ })
77
+ });
78
+ }
79
+ return (_this$provider = this.provider) === null || _this$provider === void 0 ? void 0 : _this$provider.request(args);
80
+ }
81
+ sendAsync(req, callback) {
82
+ if (callback) return this.send(req, callback);
83
+ return this.request(req);
84
+ }
85
+ send(req, callback) {
86
+ this.request(req).then(res => callback(null, {
87
+ result: res
88
+ })).catch(err => callback(err, null));
89
+ }
90
+ addChain(chainConfig) {
91
+ if (!chainConfig.chainId) throw rpcErrors.invalidParams("chainId is required");
92
+ if (!chainConfig.rpcTarget) throw rpcErrors.invalidParams("chainId is required");
93
+ this.configure({
94
+ networks: _objectSpread(_objectSpread({}, this.config.networks), {}, {
95
+ [chainConfig.chainId]: chainConfig
96
+ })
97
+ });
98
+ }
99
+ getChainConfig(chainId) {
100
+ var _this$config$networks;
101
+ const chainConfig = (_this$config$networks = this.config.networks) === null || _this$config$networks === void 0 ? void 0 : _this$config$networks[chainId];
102
+ if (!chainConfig) throw rpcErrors.invalidRequest(`Chain ${chainId} is not supported, please add chainConfig for it`);
103
+ return chainConfig;
104
+ }
105
+ updateProviderEngineProxy(provider) {
106
+ if (this._providerEngineProxy) {
107
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ this._providerEngineProxy.setTarget(provider);
109
+ } else {
110
+ this._providerEngineProxy = createEventEmitterProxy(provider);
111
+ }
112
+ }
113
+ setKeyExportFlag(flag) {
114
+ if (!this.keyExportFlagSetByCode) {
115
+ this.configure({
116
+ keyExportEnabled: flag
117
+ });
118
+ }
119
+ }
120
+ getProviderEngineProxy() {
121
+ return this._providerEngineProxy;
122
+ }
123
+ }
124
+
125
+ export { BaseProvider };
@@ -0,0 +1,87 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { createEventEmitterProxy } from '@toruslabs/base-controllers';
3
+ import { JRPCEngine, providerFromEngine, createScaffoldMiddleware, createAsyncMiddleware } from '@web3auth/auth';
4
+ import { BaseProvider } from './baseProvider.js';
5
+
6
+ var _CommonPrivateKeyProvider;
7
+ class CommonPrivateKeyProvider extends BaseProvider {
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
+ }
19
+ get provider() {
20
+ return this._providerEngineProxy;
21
+ }
22
+ set provider(_) {
23
+ throw new Error("Method not implemented.");
24
+ }
25
+ addChain(_) {
26
+ throw new Error("Method not implemented.");
27
+ }
28
+ async setupProvider(privKey) {
29
+ const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
30
+ const engine = new JRPCEngine();
31
+ engine.push(privKeyMiddleware);
32
+ const provider = providerFromEngine(engine);
33
+ this.updateProviderEngineProxy(provider);
34
+ }
35
+ updateProviderEngineProxy(provider) {
36
+ if (this._providerEngineProxy) {
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ this._providerEngineProxy.setTarget(provider);
39
+ } else {
40
+ this._providerEngineProxy = createEventEmitterProxy(provider);
41
+ }
42
+ }
43
+ async switchChain(_) {
44
+ return Promise.resolve();
45
+ }
46
+ getProviderEngineProxy() {
47
+ return this._providerEngineProxy;
48
+ }
49
+ async lookupNetwork() {
50
+ return Promise.resolve("");
51
+ }
52
+ getPrivKeyMiddleware(privKey) {
53
+ const middleware = {
54
+ getPrivatekey: async () => {
55
+ if (!this.config.keyExportEnabled) throw new Error("Exporting private key is disabled. Please enable it in the provider config");
56
+ return privKey;
57
+ }
58
+ };
59
+ return this.createPrivKeyMiddleware(middleware);
60
+ }
61
+ createPrivKeyMiddleware({
62
+ getPrivatekey
63
+ }) {
64
+ async function getPrivatekeyHandler(_, res) {
65
+ try {
66
+ res.result = await getPrivatekey();
67
+ } catch (error) {
68
+ res.error = error instanceof Error ? error.message : error;
69
+ }
70
+ }
71
+ return createScaffoldMiddleware({
72
+ private_key: createAsyncMiddleware(getPrivatekeyHandler)
73
+ });
74
+ }
75
+ }
76
+ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
77
+ _defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
78
+ const providerFactory = new _CommonPrivateKeyProvider({
79
+ config: {
80
+ chainConfig: params.chainConfig
81
+ }
82
+ });
83
+ await providerFactory.setupProvider(params.privKey);
84
+ return providerFactory;
85
+ });
86
+
87
+ export { CommonPrivateKeyProvider };
@@ -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 };