@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
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { randomId } from '@toruslabs/base-controllers';
3
3
  import { THEME_MODES } from '@web3auth/auth';
4
4
  import loglevel from 'loglevel';
5
- import { NFT_CHECKOUT_BUILD_ENV, NFT_CHECKOUT_URLS, NFT_CHECKOUT_EMBED_MESSAGE_TYPES } from './enums.js';
5
+ import { NFT_CHECKOUT_URLS, NFT_CHECKOUT_BUILD_ENV, NFT_CHECKOUT_EMBED_MESSAGE_TYPES } from './enums.js';
6
6
  import { getTheme, htmlToElement } from './utils.js';
7
7
 
8
8
  // preload for iframe doesn't work https://bugs.chromium.org/p/chromium/issues/detail?id=593267
@@ -47,13 +47,11 @@ class NFTCheckoutEmbed {
47
47
  whiteLabel
48
48
  } = params || {};
49
49
  this.buildEnv = buildEnv;
50
-
51
50
  // construct nft checkout url
52
51
  const nftCheckoutIframeUrl = new URL(NFT_CHECKOUT_URLS[this.buildEnv]);
53
52
  const hashParams = new URLSearchParams();
54
53
  hashParams.append("origin", window.location.origin);
55
54
  nftCheckoutIframeUrl.hash = hashParams.toString();
56
-
57
55
  // create iframe
58
56
  const colorScheme = getTheme((whiteLabel === null || whiteLabel === void 0 ? void 0 : whiteLabel.mode) || THEME_MODES.light);
59
57
  const nftCheckoutIframe = htmlToElement(`<iframe
@@ -97,7 +95,6 @@ class NFTCheckoutEmbed {
97
95
  if (!this.isInitialized) throw new Error("Call init() first");
98
96
  const nftCheckoutIframe = this.getIframe();
99
97
  if (!nftCheckoutIframe) throw new Error("Iframe is not initialized");
100
-
101
98
  // send message to iframe
102
99
  const nftCheckoutOrigin = new URL(NFT_CHECKOUT_URLS[this.buildEnv]).origin;
103
100
  nftCheckoutIframe.contentWindow.postMessage({
@@ -1,16 +1,23 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { SafeEventEmitter } from '@web3auth/auth';
3
- import { NFTCheckoutEmbed } from './embed.js';
4
- import { EVM_PLUGINS, PLUGIN_STATUS, PLUGIN_NAMESPACES, PLUGIN_EVENTS } from '../../base/plugin/IPlugin.js';
3
+ import '../../base/errors/index.js';
4
+ import '@toruslabs/base-controllers';
5
+ import '../../base/wallet/index.js';
6
+ import { CONNECTOR_STATUS } from '../../base/connector/constants.js';
7
+ import 'jwt-decode';
8
+ import '../../base/loglevel.js';
5
9
  import { NFTCheckoutPluginError } from '../../base/plugin/errors.js';
6
- import { ADAPTER_STATUS } from '../../base/adapter/constants.js';
10
+ import { EVM_PLUGINS, PLUGIN_STATUS, PLUGIN_NAMESPACES, PLUGIN_EVENTS } from '../../base/plugin/IPlugin.js';
11
+ import '@toruslabs/constants';
12
+ import '@toruslabs/http-helpers';
13
+ import { NFTCheckoutEmbed } from './embed.js';
7
14
 
8
15
  class NFTCheckoutPlugin extends SafeEventEmitter {
9
16
  constructor(params) {
10
17
  super();
11
18
  _defineProperty(this, "name", EVM_PLUGINS.NFT_CHECKOUT);
12
19
  _defineProperty(this, "status", PLUGIN_STATUS.DISCONNECTED);
13
- _defineProperty(this, "SUPPORTED_ADAPTERS", ["all"]);
20
+ _defineProperty(this, "SUPPORTED_CONNECTORS", ["all"]);
14
21
  _defineProperty(this, "pluginNamespace", PLUGIN_NAMESPACES.EIP155);
15
22
  _defineProperty(this, "web3auth", null);
16
23
  _defineProperty(this, "nftCheckoutEmbedInstance", null);
@@ -33,7 +40,7 @@ class NFTCheckoutPlugin extends SafeEventEmitter {
33
40
  if (!this.isInitialized) throw NFTCheckoutPluginError.notInitialized();
34
41
  this.emit(PLUGIN_EVENTS.CONNECTING);
35
42
  this.status = PLUGIN_STATUS.CONNECTING;
36
- if (this.web3auth.status !== ADAPTER_STATUS.CONNECTED) throw NFTCheckoutPluginError.web3AuthNotConnected();
43
+ if (this.web3auth.status !== CONNECTOR_STATUS.CONNECTED) throw NFTCheckoutPluginError.web3AuthNotConnected();
37
44
  if (!this.web3auth.provider) throw NFTCheckoutPluginError.providerRequired();
38
45
  const accounts = await this.web3auth.provider.request({
39
46
  method: "eth_accounts"
@@ -65,5 +72,10 @@ class NFTCheckoutPlugin extends SafeEventEmitter {
65
72
  return Promise.resolve();
66
73
  }
67
74
  }
75
+ const nftCheckoutPlugin = params => {
76
+ return () => {
77
+ return new NFTCheckoutPlugin(params);
78
+ };
79
+ };
68
80
 
69
- export { NFTCheckoutPlugin };
81
+ export { nftCheckoutPlugin };
@@ -1,93 +1,49 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
2
  import { SafeEventEmitter } from '@web3auth/auth';
4
- import WsEmbed from '@web3auth/ws-embed';
5
- export { BUTTON_POSITION, CONFIRMATION_STRATEGY } from '@web3auth/ws-embed';
6
- import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
3
+ import '../../base/errors/index.js';
4
+ import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
5
+ import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
6
+ import { CONNECTOR_STATUS } from '../../base/connector/constants.js';
7
+ import 'jwt-decode';
7
8
  import { log } from '../../base/loglevel.js';
8
- import { WALLET_ADAPTERS } from '../../base/wallet/index.js';
9
9
  import { WalletServicesPluginError } from '../../base/plugin/errors.js';
10
10
  import { EVM_PLUGINS, PLUGIN_STATUS, PLUGIN_NAMESPACES, PLUGIN_EVENTS } from '../../base/plugin/IPlugin.js';
11
- import { ADAPTER_STATUS, ADAPTER_EVENTS } from '../../base/adapter/constants.js';
11
+ import '@toruslabs/constants';
12
+ import '@toruslabs/http-helpers';
13
+ export { BUTTON_POSITION, CONFIRMATION_STRATEGY } from '@web3auth/ws-embed';
12
14
 
15
+ // TODO: support project config items here. incl. key export flag, multiple chains
13
16
  class WalletServicesPlugin extends SafeEventEmitter {
14
- constructor(options = {}) {
15
- super();
17
+ constructor(...args) {
18
+ super(...args);
16
19
  _defineProperty(this, "name", EVM_PLUGINS.WALLET_SERVICES);
17
20
  _defineProperty(this, "status", PLUGIN_STATUS.DISCONNECTED);
18
- _defineProperty(this, "SUPPORTED_ADAPTERS", [WALLET_ADAPTERS.AUTH, WALLET_ADAPTERS.SFA]);
21
+ _defineProperty(this, "SUPPORTED_CONNECTORS", [WALLET_CONNECTORS.AUTH, WALLET_CONNECTORS.SFA]);
19
22
  _defineProperty(this, "pluginNamespace", PLUGIN_NAMESPACES.MULTICHAIN);
20
23
  _defineProperty(this, "wsEmbedInstance", void 0);
21
24
  _defineProperty(this, "provider", null);
22
25
  _defineProperty(this, "web3auth", null);
23
26
  _defineProperty(this, "isInitialized", false);
24
- _defineProperty(this, "walletInitOptions", null);
25
- const {
26
- wsEmbedOpts,
27
- walletInitOptions
28
- } = options;
29
- // we fake these checks here and get them from web3auth instance
30
- this.wsEmbedInstance = new WsEmbed(wsEmbedOpts || {});
31
- this.walletInitOptions = walletInitOptions || {};
32
27
  }
33
28
  get proxyProvider() {
34
- return this.wsEmbedInstance.provider ? this.wsEmbedInstance.provider : null;
29
+ var _this$wsEmbedInstance;
30
+ return (_this$wsEmbedInstance = this.wsEmbedInstance) !== null && _this$wsEmbedInstance !== void 0 && _this$wsEmbedInstance.provider ? this.wsEmbedInstance.provider : null;
35
31
  }
36
- async initWithWeb3Auth(web3auth, whiteLabel) {
37
- var _this$walletInitOptio, _this$web3auth$coreOp;
32
+ async initWithWeb3Auth(web3auth, _whiteLabel) {
38
33
  if (this.isInitialized) return;
39
34
  if (!web3auth) throw WalletServicesPluginError.web3authRequired();
40
- if (web3auth.provider && !this.SUPPORTED_ADAPTERS.includes(web3auth.connectedAdapterName)) throw WalletServicesPluginError.notInitialized();
41
- if (![CHAIN_NAMESPACES.EIP155, CHAIN_NAMESPACES.SOLANA].includes(web3auth.coreOptions.chainConfig.chainNamespace)) throw WalletServicesPluginError.unsupportedChainNamespace();
35
+ if (web3auth.provider && !this.SUPPORTED_CONNECTORS.includes(web3auth.connectedConnectorName)) throw WalletServicesPluginError.notInitialized();
36
+ const currentChainConfig = web3auth.currentChain;
37
+ if (![CHAIN_NAMESPACES.EIP155, CHAIN_NAMESPACES.SOLANA].includes(currentChainConfig.chainNamespace)) throw WalletServicesPluginError.unsupportedChainNamespace();
42
38
  // Not connected yet to auth
43
39
  if (web3auth.provider) {
44
40
  this.provider = web3auth.provider;
45
41
  }
46
42
  this.web3auth = web3auth;
47
- const mergedWhitelabelSettings = _objectSpread(_objectSpread({}, whiteLabel), this.walletInitOptions.whiteLabel || {});
48
- const {
49
- logoDark,
50
- logoLight
51
- } = mergedWhitelabelSettings || {};
52
- if (!logoDark || !logoLight) throw WalletServicesPluginError.invalidParams("logoDark and logoLight are required in whiteLabel config");
53
- this.wsEmbedInstance.web3AuthClientId = this.web3auth.coreOptions.clientId;
54
- this.wsEmbedInstance.web3AuthNetwork = this.web3auth.coreOptions.web3AuthNetwork;
55
- this.subscribeToWeb3AuthEvents(web3auth);
56
- const connectedChainConfig = web3auth.coreOptions.chainConfig;
57
- if (!connectedChainConfig.blockExplorerUrl) throw WalletServicesPluginError.invalidParams("blockExplorerUrl is required in chainConfig");
58
- if (!connectedChainConfig.displayName) throw WalletServicesPluginError.invalidParams("displayName is required in chainConfig");
59
- if (!connectedChainConfig.logo) throw WalletServicesPluginError.invalidParams("logo is required in chainConfig");
60
- if (!connectedChainConfig.ticker) throw WalletServicesPluginError.invalidParams("ticker is required in chainConfig");
61
- if (!connectedChainConfig.tickerName) throw WalletServicesPluginError.invalidParams("tickerName is required in chainConfig");
62
- const hasAaProvider = web3auth.coreOptions.accountAbstractionProvider && (web3auth.connectedAdapterName === WALLET_ADAPTERS.AUTH || web3auth.connectedAdapterName !== WALLET_ADAPTERS.AUTH && web3auth.coreOptions.useAAWithExternalWallet);
63
- let accountAbstractionConfig;
64
- if (hasAaProvider) {
65
- var _web3auth$coreOptions, _web3auth$coreOptions2, _web3auth$coreOptions3, _web3auth$coreOptions4, _web3auth$coreOptions5;
66
- const smartAccountAddress = (_web3auth$coreOptions = web3auth.coreOptions.accountAbstractionProvider) === null || _web3auth$coreOptions === void 0 ? void 0 : _web3auth$coreOptions.smartAccount.address;
67
- const smartAccountType = (_web3auth$coreOptions2 = web3auth.coreOptions.accountAbstractionProvider) === null || _web3auth$coreOptions2 === void 0 ? void 0 : _web3auth$coreOptions2.config.smartAccountInit.name;
68
- const paymasterConfig = (_web3auth$coreOptions3 = web3auth.coreOptions.accountAbstractionProvider) === null || _web3auth$coreOptions3 === void 0 || (_web3auth$coreOptions3 = _web3auth$coreOptions3.config) === null || _web3auth$coreOptions3 === void 0 ? void 0 : _web3auth$coreOptions3.paymasterConfig;
69
- const bundlerConfig = (_web3auth$coreOptions4 = web3auth.coreOptions.accountAbstractionProvider) === null || _web3auth$coreOptions4 === void 0 || (_web3auth$coreOptions4 = _web3auth$coreOptions4.config) === null || _web3auth$coreOptions4 === void 0 ? void 0 : _web3auth$coreOptions4.bundlerConfig;
70
- const smartAccountConfig = (_web3auth$coreOptions5 = web3auth.coreOptions.accountAbstractionProvider) === null || _web3auth$coreOptions5 === void 0 ? void 0 : _web3auth$coreOptions5.config.smartAccountInit.options;
71
-
72
- // TODO: fix this type casting when we start using accountAbstractionController
73
- accountAbstractionConfig = {
74
- smartAccountAddress: smartAccountAddress || undefined,
75
- smartAccountType: smartAccountType || undefined,
76
- paymasterConfig: paymasterConfig || undefined,
77
- bundlerConfig: bundlerConfig || undefined,
78
- smartAccountConfig: smartAccountConfig || undefined
79
- };
80
- } else if ((_this$walletInitOptio = this.walletInitOptions) !== null && _this$walletInitOptio !== void 0 && _this$walletInitOptio.accountAbstractionConfig && Object.keys(this.walletInitOptions.accountAbstractionConfig).length > 0) {
81
- // if wallet services plugin is initialized with accountAbstractionConfig we enable wallet service AA without AA provider
82
- accountAbstractionConfig = this.walletInitOptions.accountAbstractionConfig;
83
- }
84
- const finalInitOptions = _objectSpread(_objectSpread({}, this.walletInitOptions), {}, {
85
- chainConfig: connectedChainConfig,
86
- enableLogging: (_this$web3auth$coreOp = this.web3auth.coreOptions) === null || _this$web3auth$coreOp === void 0 ? void 0 : _this$web3auth$coreOp.enableLogging,
87
- whiteLabel: mergedWhitelabelSettings,
88
- accountAbstractionConfig
89
- });
90
- await this.wsEmbedInstance.init(finalInitOptions);
43
+ // Auth connector uses WS embed
44
+ const authInstance = web3auth.getConnector(WALLET_CONNECTORS.AUTH);
45
+ if (!authInstance || !authInstance.wsEmbed) throw WalletServicesPluginError.web3AuthNotConnected();
46
+ this.wsEmbedInstance = authInstance.wsEmbed;
91
47
  this.isInitialized = true;
92
48
  this.status = PLUGIN_STATUS.READY;
93
49
  this.emit(PLUGIN_EVENTS.READY);
@@ -95,11 +51,8 @@ class WalletServicesPlugin extends SafeEventEmitter {
95
51
  initWithProvider() {
96
52
  throw new Error("Method not implemented.");
97
53
  }
98
- async connect({
99
- sessionId,
100
- sessionNamespace
101
- }) {
102
- // if web3auth is being used and connected to unsupported adapter throw error
54
+ async connect() {
55
+ // if web3auth is being used and connected to unsupported connector throw error
103
56
  if (!this.isInitialized) throw WalletServicesPluginError.notInitialized();
104
57
  this.emit(PLUGIN_EVENTS.CONNECTING);
105
58
  this.status = PLUGIN_STATUS.CONNECTING;
@@ -109,21 +62,12 @@ class WalletServicesPlugin extends SafeEventEmitter {
109
62
  this.provider = this.web3auth.provider;
110
63
  }
111
64
  }
112
- if (this.web3auth.status !== ADAPTER_STATUS.CONNECTED) {
65
+ if (this.web3auth.status !== CONNECTOR_STATUS.CONNECTED) {
113
66
  throw WalletServicesPluginError.web3AuthNotConnected();
114
67
  } else if (!this.web3auth.provider) {
115
68
  throw WalletServicesPluginError.providerRequired();
116
69
  }
117
- if (!sessionId) {
118
- throw WalletServicesPluginError.web3AuthNotConnected();
119
- }
120
70
  try {
121
- await this.wsEmbedInstance.loginWithSessionId({
122
- sessionId,
123
- sessionNamespace
124
- });
125
- this.subscribeToProviderEvents(this.provider);
126
- this.subscribeToWalletEvents();
127
71
  this.emit(PLUGIN_EVENTS.CONNECTED);
128
72
  this.status = PLUGIN_STATUS.CONNECTED;
129
73
  } catch (error) {
@@ -135,142 +79,43 @@ class WalletServicesPlugin extends SafeEventEmitter {
135
79
  }
136
80
  }
137
81
  async showWalletConnectScanner(showWalletConnectParams) {
138
- if (!this.wsEmbedInstance.isLoggedIn) throw WalletServicesPluginError.walletPluginNotConnected();
82
+ var _this$wsEmbedInstance2;
83
+ if (!((_this$wsEmbedInstance2 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance2 !== void 0 && _this$wsEmbedInstance2.isLoggedIn)) throw WalletServicesPluginError.walletPluginNotConnected();
139
84
  return this.wsEmbedInstance.showWalletConnectScanner(showWalletConnectParams);
140
85
  }
141
86
  async showCheckout(showCheckoutParams) {
142
- if (!this.wsEmbedInstance.isLoggedIn) throw WalletServicesPluginError.walletPluginNotConnected();
87
+ var _this$wsEmbedInstance3;
88
+ if (!((_this$wsEmbedInstance3 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance3 !== void 0 && _this$wsEmbedInstance3.isLoggedIn)) throw WalletServicesPluginError.walletPluginNotConnected();
143
89
  return this.wsEmbedInstance.showCheckout(showCheckoutParams);
144
90
  }
145
91
  async showWalletUi(showWalletUiParams) {
146
- if (!this.wsEmbedInstance.isLoggedIn) throw WalletServicesPluginError.walletPluginNotConnected();
92
+ var _this$wsEmbedInstance4;
93
+ if (!((_this$wsEmbedInstance4 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance4 !== void 0 && _this$wsEmbedInstance4.isLoggedIn)) throw WalletServicesPluginError.walletPluginNotConnected();
147
94
  return this.wsEmbedInstance.showWalletUi(showWalletUiParams);
148
95
  }
149
96
  async showSwap(showSwapParams) {
150
- if (!this.wsEmbedInstance.isLoggedIn) throw WalletServicesPluginError.walletPluginNotConnected();
97
+ var _this$wsEmbedInstance5;
98
+ if (!((_this$wsEmbedInstance5 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance5 !== void 0 && _this$wsEmbedInstance5.isLoggedIn)) throw WalletServicesPluginError.walletPluginNotConnected();
151
99
  return this.wsEmbedInstance.showSwap(showSwapParams);
152
100
  }
153
101
  async cleanup() {
154
- return this.wsEmbedInstance.cleanUp();
102
+ var _this$wsEmbedInstance6;
103
+ return (_this$wsEmbedInstance6 = this.wsEmbedInstance) === null || _this$wsEmbedInstance6 === void 0 ? void 0 : _this$wsEmbedInstance6.cleanUp();
155
104
  }
156
105
  async disconnect() {
157
- // if web3auth is being used and connected to unsupported adapter throw error
158
- if (this.wsEmbedInstance.isLoggedIn) {
106
+ var _this$wsEmbedInstance7;
107
+ if (this.status !== PLUGIN_STATUS.CONNECTED) throw WalletServicesPluginError.invalidSession("Wallet Services plugin is not connected");
108
+ if ((_this$wsEmbedInstance7 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance7 !== void 0 && _this$wsEmbedInstance7.isLoggedIn) {
159
109
  await this.wsEmbedInstance.logout();
160
- this.emit(PLUGIN_EVENTS.DISCONNECTED);
161
- this.status = PLUGIN_STATUS.DISCONNECTED;
162
- } else {
163
- throw WalletServicesPluginError.invalidSession("Wallet Services plugin is not connected");
164
- }
165
- }
166
- subscribeToWalletEvents() {
167
- var _this$wsEmbedInstance;
168
- (_this$wsEmbedInstance = this.wsEmbedInstance) === null || _this$wsEmbedInstance === void 0 || _this$wsEmbedInstance.provider.on("accountsChanged", (accounts = []) => {
169
- if (accounts.length === 0) {
170
- var _this$web3auth2, _this$web3auth3;
171
- if (((_this$web3auth2 = this.web3auth) === null || _this$web3auth2 === void 0 ? void 0 : _this$web3auth2.status) === ADAPTER_STATUS.CONNECTED) (_this$web3auth3 = this.web3auth) === null || _this$web3auth3 === void 0 || _this$web3auth3.logout();
172
- }
173
- });
174
- }
175
- subscribeToProviderEvents(provider) {
176
- provider.on("accountsChanged", (accounts = []) => {
177
- this.setSelectedAddress(accounts[0]);
178
- });
179
- provider.on("chainChanged", chainId => {
180
- this.setChainID(parseInt(chainId, 16));
181
- });
182
- }
183
- subscribeToWeb3AuthEvents(web3Auth) {
184
- web3Auth.on(ADAPTER_EVENTS.CONNECTED, data => {
185
- this.provider = data.provider || web3Auth.provider;
186
- if (!this.provider) throw WalletServicesPluginError.web3AuthNotConnected();
187
- this.subscribeToProviderEvents(this.provider);
188
- });
189
- web3Auth.on(ADAPTER_EVENTS.DISCONNECTED, async () => {
190
- this.provider = null;
191
- if (this.wsEmbedInstance.isLoggedIn) {
192
- await this.wsEmbedInstance.logout();
193
- }
194
- });
195
- }
196
- async sessionConfig() {
197
- if (!this.provider) throw WalletServicesPluginError.web3AuthNotConnected();
198
- const [accounts, chainId, chainConfig] = await Promise.all([this.provider.request({
199
- method: "eth_accounts"
200
- }), this.provider.request({
201
- method: "eth_chainId"
202
- }), this.provider.request({
203
- method: "eth_provider_config"
204
- })]);
205
- return {
206
- chainId: parseInt(chainId, 16),
207
- accounts: accounts,
208
- chainConfig: chainConfig
209
- };
210
- }
211
- async walletServicesSessionConfig() {
212
- if (!this.wsEmbedInstance.provider) throw WalletServicesPluginError.web3AuthNotConnected();
213
- const [accounts, chainId] = await Promise.all([this.wsEmbedInstance.provider.request({
214
- method: "eth_accounts"
215
- }), this.wsEmbedInstance.provider.request({
216
- method: "eth_chainId"
217
- })]);
218
- return {
219
- chainId: parseInt(chainId, 16),
220
- accounts: accounts
221
- };
222
- }
223
- async setSelectedAddress(address) {
224
- var _walletServicesSessio;
225
- if (this.web3auth.status !== ADAPTER_STATUS.CONNECTED) throw WalletServicesPluginError.web3AuthNotConnected();
226
- const walletServicesSessionConfig = await this.walletServicesSessionConfig();
227
- if (address !== ((_walletServicesSessio = walletServicesSessionConfig.accounts) === null || _walletServicesSessio === void 0 ? void 0 : _walletServicesSessio[0])) {
228
- throw WalletServicesPluginError.invalidSession();
229
- }
230
- }
231
- async setChainID(chainId) {
232
- const [sessionConfig, walletServicesSessionConfig] = await Promise.all([this.sessionConfig(), this.walletServicesSessionConfig()]);
233
- const {
234
- chainConfig
235
- } = sessionConfig || {};
236
- if (!chainConfig.blockExplorerUrl) throw WalletServicesPluginError.invalidParams("blockExplorerUrl is required in chainConfig");
237
- if (!chainConfig.displayName) throw WalletServicesPluginError.invalidParams("displayName is required in chainConfig");
238
- if (!chainConfig.logo) throw WalletServicesPluginError.invalidParams("logo is required in chainConfig");
239
- if (!chainConfig.ticker) throw WalletServicesPluginError.invalidParams("ticker is required in chainConfig");
240
- if (!chainConfig.tickerName) throw WalletServicesPluginError.invalidParams("tickerName is required in chainConfig");
241
- if (chainId !== walletServicesSessionConfig.chainId && chainConfig) {
242
- try {
243
- var _this$wsEmbedInstance2, _this$wsEmbedInstance3;
244
- await ((_this$wsEmbedInstance2 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance2 === void 0 ? void 0 : _this$wsEmbedInstance2.request({
245
- method: "wallet_addEthereumChain",
246
- params: [{
247
- chainId: chainConfig.chainId,
248
- chainName: chainConfig.displayName,
249
- rpcUrls: [chainConfig.rpcTarget],
250
- blockExplorerUrls: [chainConfig.blockExplorerUrl],
251
- nativeCurrency: {
252
- name: chainConfig.tickerName,
253
- symbol: chainConfig.ticker,
254
- decimals: chainConfig.decimals || 18
255
- },
256
- iconUrls: [chainConfig.logo]
257
- }]
258
- }).catch(() => {
259
- // TODO: throw more specific error from the controller
260
- log.error("WalletServicesPlugin: Error adding chain");
261
- }));
262
- await ((_this$wsEmbedInstance3 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance3 === void 0 ? void 0 : _this$wsEmbedInstance3.request({
263
- method: "wallet_switchEthereumChain",
264
- params: [{
265
- chainId: chainConfig.chainId
266
- }]
267
- }));
268
- } catch (error) {
269
- // TODO: throw more specific error from the controller
270
- log.error("WalletServicesPlugin: Error switching chain");
271
- }
272
110
  }
111
+ this.emit(PLUGIN_EVENTS.DISCONNECTED);
112
+ this.status = PLUGIN_STATUS.DISCONNECTED;
273
113
  }
274
114
  }
115
+ const walletServicesPlugin = () => {
116
+ return () => {
117
+ return new WalletServicesPlugin();
118
+ };
119
+ };
275
120
 
276
- export { WalletServicesPlugin };
121
+ export { walletServicesPlugin };
@@ -0,0 +1,2 @@
1
+ export { accountAbstractionProvider } from './providers/AccountAbstractionProvider.js';
2
+ export { BiconomySmartAccount, KernelSmartAccount, NexusSmartAccount, SMART_ACCOUNT, SafeSmartAccount, TrustSmartAccount } from '@toruslabs/ethereum-controllers';
@@ -1,13 +1,26 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { SMART_ACCOUNT } from '@toruslabs/ethereum-controllers';
4
+ export { SMART_ACCOUNT } from '@toruslabs/ethereum-controllers';
3
5
  import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
4
6
  import { defineChain, createPublicClient, http } from 'viem';
5
7
  import { createPaymasterClient, createBundlerClient } from 'viem/account-abstraction';
6
- import { CHAIN_NAMESPACES } from '../../../base/chain/IChainInterface.js';
7
8
  import { WalletInitializationError } from '../../../base/errors/index.js';
9
+ import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
10
+ import '../../../base/wallet/index.js';
11
+ import '../../../base/connector/constants.js';
12
+ import 'jwt-decode';
13
+ import '../../../base/loglevel.js';
14
+ import '../../../base/plugin/errors.js';
15
+ import '../../../base/plugin/IPlugin.js';
16
+ import '@toruslabs/constants';
17
+ import '@toruslabs/http-helpers';
18
+ import { BaseProvider } from '../../base-provider/baseProvider.js';
19
+ import '../../base-provider/CommonJRPCProvider.js';
20
+ import '../../base-provider/commonPrivateKeyProvider.js';
21
+ import '../../base-provider/utils.js';
8
22
  import { createAaMiddleware, eoaProviderAsMiddleware } from '../rpc/ethRpcMiddlewares.js';
9
23
  import { getProviderHandlers } from './utils.js';
10
- import { BaseProvider } from '../../base-provider/baseProvider.js';
11
24
 
12
25
  var _AccountAbstractionProvider;
13
26
  class AccountAbstractionProvider extends BaseProvider {
@@ -24,6 +37,9 @@ class AccountAbstractionProvider extends BaseProvider {
24
37
  _defineProperty(this, "_publicClient", void 0);
25
38
  _defineProperty(this, "_bundlerClient", void 0);
26
39
  _defineProperty(this, "_paymasterClient", void 0);
40
+ this.update({
41
+ chainId: config.chain.chainId
42
+ });
27
43
  }
28
44
  get smartAccount() {
29
45
  return this._smartAccount;
@@ -49,43 +65,45 @@ class AccountAbstractionProvider extends BaseProvider {
49
65
  }
50
66
  async setupProvider(eoaProvider) {
51
67
  var _this$config$bundlerC;
68
+ const {
69
+ currentChain
70
+ } = this;
52
71
  const {
53
72
  chainNamespace
54
- } = this.config.chainConfig;
73
+ } = currentChain;
55
74
  if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
56
75
  const chain = defineChain({
57
- id: Number.parseInt(this.config.chainConfig.chainId, 16),
76
+ id: Number.parseInt(currentChain.chainId, 16),
58
77
  // id in number form
59
- name: this.config.chainConfig.displayName,
78
+ name: currentChain.displayName,
60
79
  rpcUrls: {
61
80
  default: {
62
- http: [this.config.chainConfig.rpcTarget],
63
- webSocket: [this.config.chainConfig.wsTarget]
81
+ http: [currentChain.rpcTarget],
82
+ webSocket: [currentChain.wsTarget]
64
83
  }
65
84
  },
66
- blockExplorers: this.config.chainConfig.blockExplorerUrl ? {
85
+ blockExplorers: currentChain.blockExplorerUrl ? {
67
86
  default: {
68
87
  name: "explorer",
69
88
  // TODO: correct name if chain config has it
70
- url: this.config.chainConfig.blockExplorerUrl
89
+ url: currentChain.blockExplorerUrl
71
90
  }
72
91
  } : undefined,
73
92
  nativeCurrency: {
74
- name: this.config.chainConfig.tickerName,
75
- symbol: this.config.chainConfig.ticker,
76
- decimals: this.config.chainConfig.decimals || 18
93
+ name: currentChain.tickerName,
94
+ symbol: currentChain.ticker,
95
+ decimals: currentChain.decimals || 18
77
96
  }
78
97
  });
79
98
  // setup public client for viem smart account
80
99
  this._publicClient = createPublicClient({
81
100
  chain,
82
- transport: http(this.config.chainConfig.rpcTarget)
101
+ transport: http(currentChain.rpcTarget)
83
102
  });
84
103
  this._smartAccount = await this.config.smartAccountInit.getSmartAccount({
85
104
  owner: eoaProvider,
86
105
  client: this._publicClient
87
106
  });
88
-
89
107
  // setup bundler and paymaster
90
108
  if (this.config.paymasterConfig) {
91
109
  var _this$config$paymaste;
@@ -105,7 +123,6 @@ class AccountAbstractionProvider extends BaseProvider {
105
123
  chain,
106
124
  eoaProvider
107
125
  });
108
-
109
126
  // setup rpc engine and AA middleware
110
127
  const engine = new JRPCEngine();
111
128
  const aaMiddleware = await createAaMiddleware({
@@ -117,8 +134,12 @@ class AccountAbstractionProvider extends BaseProvider {
117
134
  engine.push(eoaMiddleware);
118
135
  const provider = providerFromEngine(engine);
119
136
  this.updateProviderEngineProxy(provider);
120
- eoaProvider.once("chainChanged", () => {
137
+ eoaProvider.once("chainChanged", chainId => {
138
+ this.update({
139
+ chainId
140
+ });
121
141
  this.setupChainSwitchMiddleware();
142
+ this.emit("chainChanged", chainId);
122
143
  });
123
144
  }
124
145
  async updateAccount(_params) {
@@ -131,32 +152,85 @@ class AccountAbstractionProvider extends BaseProvider {
131
152
  throw providerErrors.unsupportedMethod("lookupNetwork. Please call it on eoaProvider");
132
153
  }
133
154
  async setupChainSwitchMiddleware() {
134
- const chainConfig = await this.state.eoaProvider.request({
135
- method: "eth_provider_config"
136
- });
137
- this.update({
138
- chainId: chainConfig.chainId
139
- });
140
- this.configure({
141
- chainConfig: _objectSpread(_objectSpread({}, chainConfig), {}, {
142
- chainNamespace: CHAIN_NAMESPACES.EIP155,
143
- chainId: chainConfig.chainId,
144
- rpcTarget: chainConfig.rpcTarget
145
- })
146
- });
147
155
  return this.setupProvider(this.state.eoaProvider);
148
156
  }
149
157
  }
150
158
  _AccountAbstractionProvider = AccountAbstractionProvider;
151
159
  _defineProperty(AccountAbstractionProvider, "getProviderInstance", async params => {
152
- const providerFactory = new _AccountAbstractionProvider({
160
+ const providerInstance = new _AccountAbstractionProvider({
153
161
  config: params
154
162
  });
155
- await providerFactory.setupProvider(params.eoaProvider);
156
- providerFactory.update({
163
+ await providerInstance.setupProvider(params.eoaProvider);
164
+ providerInstance.update({
157
165
  eoaProvider: params.eoaProvider
158
166
  });
159
- return providerFactory;
167
+ return providerInstance;
160
168
  });
169
+ const accountAbstractionProvider = async ({
170
+ accountAbstractionConfig,
171
+ chain,
172
+ chains,
173
+ provider
174
+ }) => {
175
+ let smartAccountInit;
176
+ const {
177
+ smartAccountType,
178
+ smartAccountConfig,
179
+ bundlerConfig,
180
+ paymasterConfig
181
+ } = accountAbstractionConfig;
182
+ switch (smartAccountType) {
183
+ case SMART_ACCOUNT.BICONOMY:
184
+ {
185
+ const {
186
+ BiconomySmartAccount
187
+ } = await import('@toruslabs/ethereum-controllers');
188
+ smartAccountInit = new BiconomySmartAccount(smartAccountConfig);
189
+ break;
190
+ }
191
+ case SMART_ACCOUNT.KERNEL:
192
+ {
193
+ const {
194
+ KernelSmartAccount
195
+ } = await import('@toruslabs/ethereum-controllers');
196
+ smartAccountInit = new KernelSmartAccount(smartAccountConfig);
197
+ break;
198
+ }
199
+ case SMART_ACCOUNT.NEXUS:
200
+ {
201
+ const {
202
+ NexusSmartAccount
203
+ } = await import('@toruslabs/ethereum-controllers');
204
+ smartAccountInit = new NexusSmartAccount(smartAccountConfig);
205
+ break;
206
+ }
207
+ case SMART_ACCOUNT.SAFE:
208
+ {
209
+ const {
210
+ SafeSmartAccount
211
+ } = await import('@toruslabs/ethereum-controllers');
212
+ smartAccountInit = new SafeSmartAccount(smartAccountConfig);
213
+ break;
214
+ }
215
+ case SMART_ACCOUNT.TRUST:
216
+ {
217
+ const {
218
+ TrustSmartAccount
219
+ } = await import('@toruslabs/ethereum-controllers');
220
+ smartAccountInit = new TrustSmartAccount(smartAccountConfig);
221
+ break;
222
+ }
223
+ default:
224
+ throw new Error("Smart account type not supported");
225
+ }
226
+ return AccountAbstractionProvider.getProviderInstance({
227
+ eoaProvider: provider,
228
+ smartAccountInit,
229
+ chain,
230
+ chains,
231
+ bundlerConfig,
232
+ paymasterConfig
233
+ });
234
+ };
161
235
 
162
- export { AccountAbstractionProvider };
236
+ export { accountAbstractionProvider };
@@ -2,7 +2,17 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import { isHexString, addHexPrefix } from '@ethereumjs/util';
3
3
  import { providerErrors } from '@web3auth/auth';
4
4
  import { createWalletClient, http } from 'viem';
5
+ import '../../../base/errors/index.js';
6
+ import '@toruslabs/base-controllers';
7
+ import '@babel/runtime/helpers/defineProperty';
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
 
7
17
  function getProviderHandlers({
8
18
  bundlerClient,
@@ -8,7 +8,6 @@ async function createAaMiddleware({
8
8
  const [eoaAddress] = await eoaProvider.request({
9
9
  method: "eth_accounts"
10
10
  });
11
-
12
11
  /**
13
12
  * Validates the keyholder address, and returns a normalized (i.e. lowercase)
14
13
  * copy of it.
@@ -67,7 +66,6 @@ async function createAaMiddleware({
67
66
  const txParams = req.params[0] || {
68
67
  from: ""
69
68
  };
70
-
71
69
  // normalize sender address
72
70
  if (txParams.from) {
73
71
  txParams.from = await normalizeSignSenderAddress(txParams.from, req);