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