@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.2

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 (378) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +7 -12
  2. package/dist/lib.cjs/base/chain/config.js +76 -35
  3. package/dist/lib.cjs/base/connector/baseConnector.js +64 -0
  4. package/dist/lib.cjs/base/connector/constants.js +26 -0
  5. package/dist/lib.cjs/base/errors/index.js +2 -12
  6. package/dist/lib.cjs/base/plugin/IPlugin.js +2 -2
  7. package/dist/lib.cjs/base/plugin/errors.js +2 -4
  8. package/dist/lib.cjs/base/utils.js +7 -7
  9. package/dist/lib.cjs/base/wallet/index.js +15 -20
  10. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +503 -0
  11. package/dist/lib.cjs/connectors/auth-connector/config/authConnectionConfig.js +216 -0
  12. package/dist/lib.cjs/connectors/auth-connector/config/config-build.js +54 -0
  13. package/dist/lib.cjs/connectors/auth-connector/config/config-env.js +361 -0
  14. package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +28 -19
  15. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +83 -0
  16. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +159 -0
  17. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  18. package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +66 -42
  19. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  20. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +156 -0
  21. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
  22. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +55 -57
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +32 -0
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +418 -0
  25. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +23 -26
  26. package/dist/lib.cjs/index.js +142 -102
  27. package/dist/lib.cjs/noModal.js +299 -241
  28. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -3
  29. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +18 -6
  30. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +50 -204
  31. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  32. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +112 -35
  33. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +10 -0
  34. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
  35. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
  36. package/dist/lib.cjs/providers/base-provider/baseProvider.js +49 -24
  37. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  38. package/dist/lib.cjs/providers/base-provider/index.js +22 -0
  39. package/dist/lib.cjs/providers/base-provider/utils.js +10 -2
  40. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +51 -61
  41. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
  42. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
  43. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -1
  44. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
  45. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -5
  46. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
  47. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
  48. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
  49. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
  50. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +7 -9
  51. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
  52. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +37 -56
  53. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +30 -29
  54. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  55. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +41 -18
  56. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +36 -60
  57. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
  58. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +28 -44
  59. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +11 -0
  60. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +13 -1
  61. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
  62. package/dist/{types → lib.cjs/types}/base/chain/IChainInterface.d.ts +4 -10
  63. package/dist/{types → lib.cjs/types}/base/chain/config.d.ts +2 -2
  64. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +37 -0
  65. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/constants.d.ts +7 -4
  66. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/index.d.ts +1 -1
  67. package/dist/{types/base/adapter → lib.cjs/types/base/connector}/interfaces.d.ts +58 -48
  68. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +142 -0
  69. package/dist/{types → lib.cjs/types}/base/errors/index.d.ts +1 -1
  70. package/dist/{types → lib.cjs/types}/base/hooks/index.d.ts +2 -6
  71. package/dist/{types → lib.cjs/types}/base/index.d.ts +1 -1
  72. package/dist/{types → lib.cjs/types}/base/interfaces.d.ts +2 -1
  73. package/dist/{types → lib.cjs/types}/base/plugin/IPlugin.d.ts +4 -7
  74. package/dist/{types → lib.cjs/types}/base/plugin/errors.d.ts +1 -1
  75. package/dist/{types → lib.cjs/types}/base/utils.d.ts +1 -1
  76. package/dist/lib.cjs/types/base/wallet/index.d.ts +29 -0
  77. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +49 -0
  78. package/dist/lib.cjs/types/connectors/auth-connector/config/authConnectionConfig.d.ts +2 -0
  79. package/dist/lib.cjs/types/connectors/auth-connector/config/config-build.d.ts +18 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/config/config-env.d.ts +60 -0
  81. package/dist/lib.cjs/types/connectors/auth-connector/index.d.ts +2 -0
  82. package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +15 -0
  83. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  84. package/dist/lib.cjs/types/connectors/base-evm-connector/index.d.ts +1 -0
  85. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  86. package/dist/lib.cjs/types/connectors/base-solana-connector/index.d.ts +1 -0
  87. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  88. package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
  89. package/dist/lib.cjs/types/connectors/index.d.ts +7 -0
  90. package/dist/lib.cjs/types/connectors/injected-evm-connector/index.d.ts +2 -0
  91. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  92. package/dist/lib.cjs/types/connectors/injected-solana-connector/index.d.ts +5 -0
  93. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  94. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +4 -6
  95. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
  96. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
  97. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
  98. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  99. package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
  100. package/dist/{types → lib.cjs/types}/index.d.ts +1 -1
  101. package/dist/lib.cjs/types/noModal.d.ts +58 -0
  102. package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
  103. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +27 -0
  104. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +48 -0
  105. package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/index.d.ts +0 -1
  106. package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -0
  107. package/dist/{types → lib.cjs/types}/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
  108. package/dist/{types → lib.cjs/types}/providers/base-provider/baseProvider.d.ts +10 -11
  109. package/dist/{types → lib.cjs/types}/providers/base-provider/commonPrivateKeyProvider.d.ts +3 -6
  110. package/dist/{types → lib.cjs/types}/providers/base-provider/interfaces.d.ts +3 -1
  111. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +9 -0
  112. package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -6
  113. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +1 -0
  114. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -0
  115. package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
  116. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +22 -0
  117. package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
  118. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +2 -0
  119. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  120. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +9 -0
  121. package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +5 -6
  122. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +27 -0
  123. package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
  124. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +28 -0
  125. package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +5 -6
  126. package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
  127. package/dist/{types → lib.cjs/types}/react/no-modal/interfaces.d.ts +4 -4
  128. package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/interfaces.d.ts +2 -2
  129. package/dist/{types → lib.cjs/types}/vue/no-modal/interfaces.d.ts +5 -8
  130. package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/interfaces.d.ts +2 -2
  131. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +27 -44
  132. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +12 -1
  133. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
  134. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
  135. package/dist/lib.esm/base/chain/IChainInterface.js +3 -11
  136. package/dist/lib.esm/base/chain/config.js +65 -24
  137. package/dist/lib.esm/base/connector/baseConnector.js +62 -0
  138. package/dist/lib.esm/base/connector/constants.js +22 -0
  139. package/dist/lib.esm/base/errors/index.js +2 -12
  140. package/dist/lib.esm/base/plugin/IPlugin.js +1 -1
  141. package/dist/lib.esm/base/plugin/errors.js +2 -4
  142. package/dist/lib.esm/base/utils.js +5 -5
  143. package/dist/lib.esm/base/wallet/index.js +11 -16
  144. package/dist/lib.esm/connectors/auth-connector/authConnector.js +501 -0
  145. package/dist/lib.esm/connectors/auth-connector/config/authConnectionConfig.js +214 -0
  146. package/dist/lib.esm/connectors/auth-connector/config/config-build.js +48 -0
  147. package/dist/lib.esm/connectors/auth-connector/config/config-env.js +359 -0
  148. package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +29 -20
  149. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +81 -0
  150. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +157 -0
  151. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  152. package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +64 -41
  153. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  154. package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +66 -49
  155. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
  156. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +47 -45
  157. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  158. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +416 -0
  159. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +24 -26
  160. package/dist/lib.esm/index.js +29 -34
  161. package/dist/lib.esm/noModal.js +297 -239
  162. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +1 -4
  163. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +18 -6
  164. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +46 -201
  165. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  166. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +108 -34
  167. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +10 -0
  168. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
  169. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
  170. package/dist/lib.esm/providers/base-provider/baseProvider.js +49 -24
  171. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  172. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  173. package/dist/lib.esm/providers/base-provider/utils.js +9 -1
  174. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +50 -60
  175. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
  176. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
  177. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -1
  178. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
  179. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
  180. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
  181. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
  182. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
  183. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
  184. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +4 -6
  185. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
  186. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +36 -55
  187. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +29 -28
  188. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +6 -6
  189. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +41 -18
  190. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +35 -59
  191. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
  192. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +28 -44
  193. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +11 -0
  194. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +13 -1
  195. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
  196. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +27 -44
  197. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +12 -1
  198. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
  199. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
  200. package/dist/noModal.umd.min.js +1 -1
  201. package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
  202. package/package.json +25 -22
  203. package/dist/757.noModal.cjs.js +0 -226
  204. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
  205. package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
  206. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -76
  207. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
  208. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
  209. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
  210. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
  211. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
  212. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +0 -138
  213. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
  214. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
  215. package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
  216. package/dist/lib.cjs/base/adapter/constants.js +0 -24
  217. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
  218. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
  219. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
  220. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
  221. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
  222. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
  223. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
  224. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
  225. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
  226. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
  227. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
  228. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
  229. package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
  230. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -74
  231. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
  232. package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
  233. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
  234. package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
  235. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
  236. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
  237. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
  238. package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
  239. package/dist/lib.esm/base/adapter/constants.js +0 -20
  240. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
  241. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
  242. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
  243. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
  244. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
  245. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
  246. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
  247. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
  248. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
  249. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
  250. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
  251. package/dist/noModal.cjs.js +0 -26385
  252. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
  253. package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
  254. package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
  255. package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
  256. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
  257. package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
  258. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
  259. package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
  260. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
  261. package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
  262. package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
  263. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
  264. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
  265. package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
  266. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
  267. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
  268. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
  269. package/dist/types/adapters/index.d.ts +0 -7
  270. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
  271. package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
  272. package/dist/types/base/core/IWeb3Auth.d.ts +0 -101
  273. package/dist/types/base/wallet/index.d.ts +0 -33
  274. package/dist/types/noModal.d.ts +0 -43
  275. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +0 -51
  276. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +0 -46
  277. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
  278. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
  279. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
  280. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
  281. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
  282. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
  283. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
  284. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
  285. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +0 -6
  286. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
  287. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
  288. package/dist/types/providers/base-provider/utils.d.ts +0 -2
  289. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
  290. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
  291. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -2
  292. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +0 -5
  293. package/dist/types/providers/solana-provider/interface.d.ts +0 -39
  294. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -3
  295. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
  296. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
  297. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
  298. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -6
  300. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +0 -42
  301. package/dist/types/providers/solana-provider/solanaWallet.d.ts +0 -14
  302. /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
  303. /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  304. /package/dist/{types → lib.cjs/types}/base/composables/index.d.ts +0 -0
  305. /package/dist/{types/base/adapter → lib.cjs/types/base/connector}/utils.d.ts +0 -0
  306. /package/dist/{types → lib.cjs/types}/base/loglevel.d.ts +0 -0
  307. /package/dist/{types → lib.cjs/types}/base/plugin/index.d.ts +0 -0
  308. /package/dist/{types → lib.cjs/types}/base/provider/IProvider.d.ts +0 -0
  309. /package/dist/{types/adapters/default-solana-adapter → lib.cjs/types/connectors/injected-solana-connector}/utils.d.ts +0 -0
  310. /package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
  311. /package/dist/{types → lib.cjs/types}/plugins/index.d.ts +0 -0
  312. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/embed.d.ts +0 -0
  313. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/enums.d.ts +0 -0
  314. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/index.d.ts +0 -0
  315. /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/utils.d.ts +0 -0
  316. /package/dist/{types → lib.cjs/types}/plugins/wallet-services-plugin/index.d.ts +0 -0
  317. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/index.d.ts +0 -0
  318. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/utils.d.ts +0 -0
  319. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
  320. /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/index.d.ts +0 -0
  321. /package/dist/{types → lib.cjs/types}/providers/base-provider/index.d.ts +0 -0
  322. /package/dist/{types → lib.cjs/types}/providers/base-provider/jrpcClient.d.ts +0 -0
  323. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/index.d.ts +0 -0
  324. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/index.d.ts +0 -0
  325. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -0
  326. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -0
  327. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
  328. /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -0
  329. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/index.d.ts +0 -0
  330. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/converter.d.ts +0 -0
  331. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/index.d.ts +0 -0
  332. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -0
  333. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -0
  334. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -0
  335. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -0
  336. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -0
  337. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/utils.d.ts +0 -0
  338. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/index.d.ts +0 -0
  339. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/jrpcClient.d.ts +0 -0
  340. /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -0
  341. /package/dist/{types → lib.cjs/types}/providers/index.d.ts +0 -0
  342. /package/dist/{types → lib.cjs/types}/providers/solana-provider/index.d.ts +0 -0
  343. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/index.d.ts +0 -0
  344. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -0
  345. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/index.d.ts +0 -0
  346. /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +0 -0
  347. /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/JrpcClient.d.ts +0 -0
  348. /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/index.d.ts +0 -0
  349. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/index.d.ts +0 -0
  350. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/index.d.ts +0 -0
  351. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +0 -0
  352. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +0 -0
  353. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +0 -0
  354. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +0 -0
  355. /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/JrpcClient.d.ts +0 -0
  356. /package/dist/{types → lib.cjs/types}/react/index.d.ts +0 -0
  357. /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthInnerContext.d.ts +0 -0
  358. /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthProvider.d.ts +0 -0
  359. /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/index.d.ts +0 -0
  360. /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/useWeb3Auth.d.ts +0 -0
  361. /package/dist/{types → lib.cjs/types}/react/no-modal/index.d.ts +0 -0
  362. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -0
  363. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
  364. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/index.d.ts +0 -0
  365. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +0 -0
  366. /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/index.d.ts +0 -0
  367. /package/dist/{types → lib.cjs/types}/vue/index.d.ts +0 -0
  368. /package/dist/{types → lib.cjs/types}/vue/no-modal/Web3AuthProvider.d.ts +0 -0
  369. /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/index.d.ts +0 -0
  370. /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/useWeb3Auth.d.ts +0 -0
  371. /package/dist/{types → lib.cjs/types}/vue/no-modal/index.d.ts +0 -0
  372. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
  373. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/index.d.ts +0 -0
  374. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -0
  375. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/context.d.ts +0 -0
  376. /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/index.d.ts +0 -0
  377. /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
  378. /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
@@ -1,6 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { createEventEmitterProxy } from '@toruslabs/base-controllers';
3
- import { JRPCEngine, providerFromEngine, providerErrors } from '@web3auth/auth';
2
+ import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
4
3
  import { BaseProvider } from './baseProvider.js';
5
4
  import { createJsonRpcClient } from './jrpcClient.js';
6
5
 
@@ -15,23 +14,25 @@ class CommonJRPCProvider extends BaseProvider {
15
14
  state
16
15
  });
17
16
  }
18
- async setupProvider() {
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
+ });
19
23
  const {
20
24
  networkMiddleware
21
- } = createJsonRpcClient(this.config.chainConfig);
25
+ } = createJsonRpcClient(chain);
22
26
  const engine = new JRPCEngine();
23
27
  engine.push(networkMiddleware);
24
28
  const provider = providerFromEngine(engine);
25
29
  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
- }
30
+ this.emit("chainChanged", chainId);
31
+ this.emit("connect", {
32
+ chainId
33
+ });
33
34
  this.update({
34
- chainId: this.config.chainConfig.chainId
35
+ chainId
35
36
  });
36
37
  }
37
38
  async switchChain(params) {
@@ -39,22 +40,12 @@ class CommonJRPCProvider extends BaseProvider {
39
40
  message: "Provider is not initialized",
40
41
  code: 4902
41
42
  });
42
- const chainConfig = this.getChainConfig(params.chainId);
43
+ const newChainId = params.chainId;
44
+ if (this.chainId === newChainId) return;
43
45
  this.update({
44
46
  chainId: "loading"
45
47
  });
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
- }
48
+ await this.setupProvider(newChainId);
58
49
  }
59
50
  getProviderEngineProxy() {
60
51
  return this._providerEngineProxy;
@@ -67,10 +58,14 @@ _CommonJRPCProvider = CommonJRPCProvider;
67
58
  _defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
68
59
  const providerFactory = new _CommonJRPCProvider({
69
60
  config: {
70
- chainConfig: params.chainConfig
61
+ chain: params.chain,
62
+ chains: params.chains
71
63
  }
72
64
  });
73
- await providerFactory.setupProvider();
65
+ const {
66
+ chainId
67
+ } = params.chain;
68
+ await providerFactory.setupProvider(chainId);
74
69
  return providerFactory;
75
70
  });
76
71
 
@@ -3,6 +3,15 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { BaseController, createEventEmitterProxy } from '@toruslabs/base-controllers';
4
4
  import { rpcErrors } from '@web3auth/auth';
5
5
  import { WalletInitializationError, WalletProviderError } from '../../base/errors/index.js';
6
+ import '../../base/wallet/index.js';
7
+ import '../../base/connector/constants.js';
8
+ import 'jwt-decode';
9
+ import '../../base/loglevel.js';
10
+ import '../../base/plugin/errors.js';
11
+ import '../../base/plugin/IPlugin.js';
12
+ import '@toruslabs/constants';
13
+ import '@toruslabs/http-helpers';
14
+ import { EIP1193_EVENTS } from './utils.js';
6
15
 
7
16
  class BaseProvider extends BaseController {
8
17
  constructor({
@@ -18,24 +27,25 @@ class BaseProvider extends BaseController {
18
27
  // set to true when the keyExportEnabled flag is set by code.
19
28
  // This is to prevent the flag from being overridden by the dashboard config.
20
29
  _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");
30
+ const {
31
+ chain
32
+ } = config;
33
+ if (!chain) throw WalletInitializationError.invalidProviderConfigError("Please provide chain");
34
+ if (!chain.chainId) throw WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chain");
35
+ if (!chain.rpcTarget) throw WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chain");
24
36
  if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
25
37
  this.defaultState = {
26
38
  chainId: "loading"
27
39
  };
28
40
  this.defaultConfig = {
29
- chainConfig: config.chainConfig,
30
- networks: {
31
- [config.chainConfig.chainId]: config.chainConfig
32
- },
41
+ chain: config.chain,
42
+ chains: config.chains,
33
43
  keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
34
44
  };
35
45
  super.initialize();
36
46
  }
37
- get currentChainConfig() {
38
- return this.config.chainConfig;
47
+ get currentChain() {
48
+ return this.config.chains.find(chain => chain.chainId === this.state.chainId);
39
49
  }
40
50
  get provider() {
41
51
  return this._providerEngineProxy;
@@ -87,25 +97,37 @@ class BaseProvider extends BaseController {
87
97
  result: res
88
98
  })).catch(err => callback(err, null));
89
99
  }
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
100
  updateProviderEngineProxy(provider) {
106
101
  if (this._providerEngineProxy) {
107
102
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
103
  this._providerEngineProxy.setTarget(provider);
104
+ // we want events to propagate from Ethereum provider -> wrapper provider (e.g. CommonJRPC provider) -> SDK -> dapp
105
+ // ensure that only one handler is added for each event
106
+ const reEmitHandler = event => {
107
+ // listen to the event from the Ethereum provider
108
+ provider.on(event, (...args) => {
109
+ // handle chainChanged event: update chainId state
110
+ if (event === EIP1193_EVENTS.CHAIN_CHANGED) {
111
+ const chainId = args[0];
112
+ this.update({
113
+ chainId
114
+ });
115
+ }
116
+ // re-emit the event
117
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
+ this.emit(event, ...args);
119
+ });
120
+ };
121
+ // handle existing events
122
+ this.eventNames().forEach(event => {
123
+ reEmitHandler(event);
124
+ });
125
+ // handle when a new listener is added
126
+ this.on("newListener", event => {
127
+ // skip if the event already exists
128
+ if (this.listenerCount(event) > 0) return;
129
+ reEmitHandler(event);
130
+ });
109
131
  } else {
110
132
  this._providerEngineProxy = createEventEmitterProxy(provider);
111
133
  }
@@ -120,6 +142,9 @@ class BaseProvider extends BaseController {
120
142
  getProviderEngineProxy() {
121
143
  return this._providerEngineProxy;
122
144
  }
145
+ getChain(chainId) {
146
+ return this.config.chains.find(chain => chain.chainId === chainId);
147
+ }
123
148
  }
124
149
 
125
150
  export { BaseProvider };
@@ -1,5 +1,4 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { createEventEmitterProxy } from '@toruslabs/base-controllers';
3
2
  import { JRPCEngine, providerFromEngine, createScaffoldMiddleware, createAsyncMiddleware } from '@web3auth/auth';
4
3
  import { BaseProvider } from './baseProvider.js';
5
4
 
@@ -22,9 +21,6 @@ class CommonPrivateKeyProvider extends BaseProvider {
22
21
  set provider(_) {
23
22
  throw new Error("Method not implemented.");
24
23
  }
25
- addChain(_) {
26
- throw new Error("Method not implemented.");
27
- }
28
24
  async setupProvider(privKey) {
29
25
  const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
30
26
  const engine = new JRPCEngine();
@@ -32,14 +28,6 @@ class CommonPrivateKeyProvider extends BaseProvider {
32
28
  const provider = providerFromEngine(engine);
33
29
  this.updateProviderEngineProxy(provider);
34
30
  }
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
31
  async switchChain(_) {
44
32
  return Promise.resolve();
45
33
  }
@@ -77,7 +65,8 @@ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
77
65
  _defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
78
66
  const providerFactory = new _CommonPrivateKeyProvider({
79
67
  config: {
80
- chainConfig: params.chainConfig
68
+ chain: params.chain,
69
+ chains: params.chains
81
70
  }
82
71
  });
83
72
  await providerFactory.setupProvider(params.privKey);
@@ -0,0 +1,5 @@
1
+ export { BaseProvider } from './baseProvider.js';
2
+ export { CommonJRPCProvider } from './CommonJRPCProvider.js';
3
+ export { CommonPrivateKeyProvider } from './commonPrivateKeyProvider.js';
4
+ export { EIP1193_EVENTS, createRandomId } from './utils.js';
5
+ export { getED25519Key } from '@web3auth/auth';
@@ -2,5 +2,13 @@ import getCreateRandomId from 'json-rpc-random-id';
2
2
  export { getED25519Key } from '@web3auth/auth';
3
3
 
4
4
  const createRandomId = getCreateRandomId();
5
+ var EIP1193_EVENTS;
6
+ (function (EIP1193_EVENTS) {
7
+ EIP1193_EVENTS["ACCOUNTS_CHANGED"] = "accountsChanged";
8
+ EIP1193_EVENTS["CHAIN_CHANGED"] = "chainChanged";
9
+ EIP1193_EVENTS["CONNECT"] = "connect";
10
+ EIP1193_EVENTS["DISCONNECT"] = "disconnect";
11
+ EIP1193_EVENTS["MESSAGE"] = "message";
12
+ })(EIP1193_EVENTS || (EIP1193_EVENTS = {}));
5
13
 
6
- export { createRandomId };
14
+ export { EIP1193_EVENTS, createRandomId };
@@ -2,14 +2,27 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { isHexString } from '@ethereumjs/util';
4
4
  import { providerErrors, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
5
- import { CHAIN_NAMESPACES } from '../../../../base/chain/IChainInterface.js';
6
5
  import { WalletInitializationError } from '../../../../base/errors/index.js';
7
- import { createEthAccountMiddleware } from '../../rpc/ethRpcMiddlewares.js';
8
- import { getProviderHandlers } from './signingUtils.js';
9
- import { TransactionFormatter } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
6
+ import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
7
+ import '../../../../base/wallet/index.js';
8
+ import '../../../../base/connector/constants.js';
9
+ import 'jwt-decode';
10
+ import '../../../../base/loglevel.js';
11
+ import '../../../../base/plugin/errors.js';
12
+ import '../../../../base/plugin/IPlugin.js';
13
+ import '@toruslabs/constants';
14
+ import '@toruslabs/http-helpers';
10
15
  import { BaseProvider } from '../../../base-provider/baseProvider.js';
16
+ import '../../../base-provider/CommonJRPCProvider.js';
17
+ import '../../../base-provider/commonPrivateKeyProvider.js';
18
+ import '../../../base-provider/utils.js';
19
+ import { TransactionFormatter } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
20
+ import '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
21
+ import '../../../ethereum-provider/providers/converter.js';
11
22
  import { createEthMiddleware, createEthChainSwitchMiddleware } from '../../../ethereum-provider/rpc/ethRpcMiddlewares.js';
12
23
  import { createEthJsonRpcClient } from '../../../ethereum-provider/rpc/jrpcClient.js';
24
+ import { createEthAccountMiddleware } from '../../rpc/ethRpcMiddlewares.js';
25
+ import { getProviderHandlers } from './signingUtils.js';
13
26
 
14
27
  var _EthereumSigningProvider;
15
28
  class EthereumSigningProvider extends BaseProvider {
@@ -19,9 +32,10 @@ class EthereumSigningProvider extends BaseProvider {
19
32
  }) {
20
33
  super({
21
34
  config: {
22
- chainConfig: _objectSpread(_objectSpread({}, config.chainConfig), {}, {
23
- chainNamespace: CHAIN_NAMESPACES.EIP155
24
- })
35
+ chain: _objectSpread(_objectSpread({}, config.chain), {}, {
36
+ chainNamespace: CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
37
+ }),
38
+ chains: config.chains
25
39
  },
26
40
  state
27
41
  });
@@ -32,18 +46,20 @@ class EthereumSigningProvider extends BaseProvider {
32
46
  message: "signMethods are not found in state, plz pass it in constructor state param",
33
47
  code: 4902
34
48
  });
35
- await this.setupProvider(this.state.signMethods);
49
+ await this.setupProvider(this.state.signMethods, this.chainId);
36
50
  return this._providerEngineProxy.request({
37
51
  method: "eth_accounts"
38
52
  });
39
53
  }
40
- async setupProvider({
41
- sign,
42
- getPublic
43
- }) {
54
+ async setupProvider(params, chainId) {
55
+ const {
56
+ sign,
57
+ getPublic
58
+ } = params;
59
+ const chain = this.getChain(chainId);
44
60
  const {
45
61
  chainNamespace
46
- } = this.config.chainConfig;
62
+ } = chain;
47
63
  if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
48
64
  const txFormatter = new TransactionFormatter({
49
65
  getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
@@ -60,7 +76,7 @@ class EthereumSigningProvider extends BaseProvider {
60
76
  // Not a partial anymore because of checks in ctor
61
77
  const {
62
78
  networkMiddleware
63
- } = createEthJsonRpcClient(this.config.chainConfig);
79
+ } = createEthJsonRpcClient(chain);
64
80
  engine.push(ethMiddleware);
65
81
  engine.push(chainSwitchMiddleware);
66
82
  engine.push(this.getAccountMiddleware());
@@ -68,11 +84,18 @@ class EthereumSigningProvider extends BaseProvider {
68
84
  const provider = providerFromEngine(engine);
69
85
  this.updateProviderEngineProxy(provider);
70
86
  await txFormatter.init();
71
- await this.lookupNetwork();
87
+ await this.lookupNetwork(params, chainId);
72
88
  this.state.signMethods = {
73
89
  sign,
74
90
  getPublic
75
91
  };
92
+ this.emit("chainChanged", chainId);
93
+ this.emit("connect", {
94
+ chainId
95
+ });
96
+ this.update({
97
+ chainId
98
+ });
76
99
  }
77
100
  async updateAccount(params) {
78
101
  if (!this._providerEngineProxy) throw providerErrors.custom({
@@ -89,7 +112,7 @@ class EthereumSigningProvider extends BaseProvider {
89
112
  const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
90
113
  const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
91
114
  if (currentPubKey !== updatePubKey) {
92
- await this.setupProvider(params.signMethods);
115
+ await this.setupProvider(params.signMethods, this.chainId);
93
116
  const accounts = await this._providerEngineProxy.request({
94
117
  method: "eth_accounts"
95
118
  });
@@ -101,29 +124,25 @@ class EthereumSigningProvider extends BaseProvider {
101
124
  message: "Provider is not initialized",
102
125
  code: 4902
103
126
  });
104
- const chainConfig = this.getChainConfig(params.chainId);
105
- this.update({
106
- chainId: "loading"
107
- });
108
- this.configure({
109
- chainConfig
110
- });
111
127
  if (!this.state.signMethods) {
112
128
  throw providerErrors.custom({
113
129
  message: "sign methods are undefined",
114
130
  code: 4902
115
131
  });
116
132
  }
117
- await this.setupProvider(this.state.signMethods);
133
+ if (params.chainId === this.chainId) {
134
+ return;
135
+ }
136
+ this.update({
137
+ chainId: "loading"
138
+ });
139
+ await this.setupProvider(this.state.signMethods, params.chainId);
118
140
  }
119
- async lookupNetwork() {
141
+ async lookupNetwork(_, chainId) {
120
142
  if (!this._providerEngineProxy) throw providerErrors.custom({
121
143
  message: "Provider is not initialized",
122
144
  code: 4902
123
145
  });
124
- const {
125
- chainId
126
- } = this.config.chainConfig;
127
146
  if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
128
147
  const network = await this._providerEngineProxy.request({
129
148
  method: "net_version",
@@ -131,40 +150,10 @@ class EthereumSigningProvider extends BaseProvider {
131
150
  });
132
151
  const finalNetwork = isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
133
152
  if (parseInt(chainId, 16) !== finalNetwork) throw providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
134
- if (this.state.chainId !== chainId) {
135
- this.emit("chainChanged", chainId);
136
- this.emit("connect", {
137
- chainId
138
- });
139
- }
140
- this.update({
141
- chainId
142
- });
143
153
  return network;
144
154
  }
145
155
  getChainSwitchMiddleware() {
146
156
  const chainSwitchHandlers = {
147
- addChain: async params => {
148
- const {
149
- chainId,
150
- chainName,
151
- rpcUrls,
152
- blockExplorerUrls,
153
- nativeCurrency,
154
- iconUrls
155
- } = params;
156
- this.addChain({
157
- chainNamespace: CHAIN_NAMESPACES.EIP155,
158
- chainId,
159
- ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "ETH",
160
- tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Ether",
161
- displayName: chainName,
162
- rpcTarget: rpcUrls[0],
163
- blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
164
- decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 18,
165
- logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/eth.svg"
166
- });
167
- },
168
157
  switchChain: async params => {
169
158
  const {
170
159
  chainId
@@ -187,10 +176,11 @@ _EthereumSigningProvider = EthereumSigningProvider;
187
176
  _defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
188
177
  const providerFactory = new _EthereumSigningProvider({
189
178
  config: {
190
- chainConfig: params.chainConfig
179
+ chain: params.chain,
180
+ chains: params.chains
191
181
  }
192
182
  });
193
- await providerFactory.setupProvider(params.signMethods);
183
+ await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
194
184
  return providerFactory;
195
185
  });
196
186
 
@@ -4,7 +4,19 @@ import { concatSig } from '@toruslabs/base-controllers';
4
4
  import { providerErrors } from '@web3auth/auth';
5
5
  import { hashMessage, Signature } from 'ethers';
6
6
  import { validateTypedData, hexToBytes, hashTypedData } from 'viem';
7
+ import '../../../../base/errors/index.js';
8
+ import '@babel/runtime/helpers/defineProperty';
9
+ import '../../../../base/wallet/index.js';
10
+ import '../../../../base/connector/constants.js';
11
+ import 'jwt-decode';
7
12
  import { log } from '../../../../base/loglevel.js';
13
+ import '../../../../base/plugin/errors.js';
14
+ import '../../../../base/plugin/IPlugin.js';
15
+ import '@toruslabs/constants';
16
+ import '@toruslabs/http-helpers';
17
+ import 'bignumber.js';
18
+ import '../../../ethereum-provider/providers/converter.js';
19
+ import 'bn.js';
8
20
  import { validateTypedSignMessageDataV4 } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js';
9
21
  import { SignTypedDataVersion } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
10
22
 
@@ -25,12 +37,10 @@ async function signTx(txParams, sign, txFormatter) {
25
37
  r,
26
38
  s
27
39
  } = vrs;
28
-
29
40
  // mpc-core-kit workaround (revert back to 0/1)
30
41
  if (v > 1) {
31
42
  v = v - 27;
32
43
  }
33
-
34
44
  // addSignature will handle the v value
35
45
  const tx = ethTx;
36
46
  tx.signature = Signature.from({
@@ -14,7 +14,6 @@ function createEthAccountMiddleware({
14
14
  wallet_updateAccount: createAsyncMiddleware(updateAccount)
15
15
  });
16
16
  }
17
-
18
17
  // #endregion account middlewares
19
18
 
20
19
  export { createEthAccountMiddleware };
@@ -5,7 +5,6 @@ import { BigNumber } from 'bignumber.js';
5
5
  const BIG_NUMBER_WEI_MULTIPLIER = new BigNumber("1e18");
6
6
  const BIG_NUMBER_GWEI_MULTIPLIER = new BigNumber("1e9");
7
7
  const BIG_NUMBER_ETH_MULTIPLIER = new BigNumber("1");
8
-
9
8
  // Setter Maps
10
9
  const toBigNumber = {
11
10
  hex: n => typeof n === "string" ? new BigNumber(stripHexPrefix(n), 16) : new BigNumber(n, 16),
@@ -2,7 +2,17 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { addHexPrefix, stripHexPrefix } from '@ethereumjs/util';
4
4
  import { BigNumber } from 'bignumber.js';
5
+ import '../../../../../base/errors/index.js';
6
+ import '@toruslabs/base-controllers';
7
+ import '@web3auth/auth';
8
+ import '../../../../../base/wallet/index.js';
9
+ import '../../../../../base/connector/constants.js';
10
+ import 'jwt-decode';
5
11
  import { log } from '../../../../../base/loglevel.js';
12
+ import '../../../../../base/plugin/errors.js';
13
+ import '../../../../../base/plugin/IPlugin.js';
14
+ import '@toruslabs/constants';
15
+ import '@toruslabs/http-helpers';
6
16
  import { hexWEIToDecGWEI, decGWEIToHexWEI } from '../../converter.js';
7
17
  import { bnLessThan, hexToBn, BnMultiplyByFraction, bnToHex } from '../../utils.js';
8
18
  import { TRANSACTION_ENVELOPE_TYPES, EIP1559APIEndpoint, GAS_ESTIMATE_TYPES, LegacyGasAPIEndpoint, TRANSACTION_TYPES } from './constants.js';
@@ -98,18 +108,14 @@ class TransactionFormatter {
98
108
  clonedTxParams.maxPriorityFeePerGas = clonedTxParams.maxFeePerGas;
99
109
  }
100
110
  }
101
-
102
111
  // We remove the gasPrice param entirely when on an eip1559 compatible network
103
-
104
112
  delete clonedTxParams.gasPrice;
105
113
  } else {
106
114
  // We ensure that maxFeePerGas and maxPriorityFeePerGas are not in the transaction params
107
115
  // when not on a EIP1559 compatible network
108
-
109
116
  delete clonedTxParams.maxPriorityFeePerGas;
110
117
  delete clonedTxParams.maxFeePerGas;
111
118
  }
112
-
113
119
  // If we have gotten to this point, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas are
114
120
  // set on txParams, it means that either we are on a non-EIP1559 network and the dapp didn't suggest
115
121
  // a gas price, or we are on an EIP1559 network, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas
@@ -139,7 +145,6 @@ class TransactionFormatter {
139
145
  method: "eth_feeHistory",
140
146
  params: [noOfBlocks, newestBlock, percentileValues]
141
147
  });
142
-
143
148
  // this is in hex wei
144
149
  const finalBaseFeePerGas = feeHistory.baseFeePerGas[feeHistory.baseFeePerGas.length - 1];
145
150
  // this is in hex wei
@@ -198,7 +203,7 @@ class TransactionFormatter {
198
203
  } else {
199
204
  throw new Error("Chain id not supported by api");
200
205
  }
201
- } catch (error) {
206
+ } catch {
202
207
  estimates = await this.fetchGasEstimatesViaEthFeeHistory();
203
208
  }
204
209
  gasData = {
@@ -214,7 +219,7 @@ class TransactionFormatter {
214
219
  } else {
215
220
  throw new Error("Main gas fee/price estimation failed. Use fallback");
216
221
  }
217
- } catch (e) {
222
+ } catch {
218
223
  try {
219
224
  const estimates = await this.fetchEthGasPriceEstimate();
220
225
  gasData = {
@@ -274,7 +279,6 @@ class TransactionFormatter {
274
279
  }
275
280
  async estimateTxGas(txMeta) {
276
281
  const txParams = _objectSpread({}, txMeta);
277
-
278
282
  // `eth_estimateGas` can fail if the user has insufficient balance for the
279
283
  // value being sent, or for the gas cost. We don't want to check their
280
284
  // balance here, we just want the gas estimate. The gas price is removed
@@ -313,7 +317,6 @@ class TransactionFormatter {
313
317
  const blockGasLimitBn = hexToBn(blockGasLimitHex);
314
318
  const upperGasLimitBn = blockGasLimitBn.muln(0.9);
315
319
  const bufferedGasLimitBn = initialGasLimitBn.muln(multiplier);
316
-
317
320
  // if initialGasLimit is above blockGasLimit, dont modify it
318
321
  if (initialGasLimitBn.gt(upperGasLimitBn)) return bnToHex(initialGasLimitBn);
319
322
  // if bufferedGasLimit is below blockGasLimit, use bufferedGasLimit
@@ -360,7 +363,6 @@ class TransactionFormatter {
360
363
  throw Error("TxGasUtil - Trying to call a function on a non-contract address");
361
364
  }
362
365
  const TWENTY_ONE_THOUSAND = 21000;
363
-
364
366
  // This is a standard ether simple send, gas requirement is exactly 21k
365
367
  return addHexPrefix(TWENTY_ONE_THOUSAND.toString(16));
366
368
  }
@@ -368,7 +370,6 @@ class TransactionFormatter {
368
370
  blockGasLimit,
369
371
  estimatedGasHex
370
372
  } = await this.analyzeGasUsage(txParams);
371
-
372
373
  // add additional gas buffer to our estimation for safety
373
374
  const gasLimit = this.addGasBuffer(addHexPrefix(estimatedGasHex), blockGasLimit);
374
375
  return gasLimit;
@@ -1,8 +1,8 @@
1
- let SignTypedDataVersion = /*#__PURE__*/function (SignTypedDataVersion) {
1
+ var SignTypedDataVersion;
2
+ (function (SignTypedDataVersion) {
2
3
  SignTypedDataVersion["V1"] = "V1";
3
4
  SignTypedDataVersion["V3"] = "V3";
4
5
  SignTypedDataVersion["V4"] = "V4";
5
- return SignTypedDataVersion;
6
- }({});
6
+ })(SignTypedDataVersion || (SignTypedDataVersion = {}));
7
7
 
8
8
  export { SignTypedDataVersion };
@@ -27,7 +27,6 @@ async function fetchEip1159GasEstimates(url) {
27
27
  });
28
28
  return normalizedEstimates;
29
29
  }
30
-
31
30
  /**
32
31
  * Hit the legacy MetaSwaps gasPrices estimate api and return the low, medium
33
32
  * high values from that API.
@@ -61,7 +60,7 @@ async function validateTypedSignMessageDataV4(messageData, currentChainId) {
61
60
  } else {
62
61
  try {
63
62
  data = JSON.parse(messageData.data);
64
- } catch (e) {
63
+ } catch {
65
64
  throw new Error("Data must be passed as a valid JSON string.");
66
65
  }
67
66
  }