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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +2 -2
  2. package/dist/lib.cjs/base/chain/config.js +63 -22
  3. package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
  4. package/dist/lib.cjs/base/connector/constants.js +26 -0
  5. package/dist/lib.cjs/base/errors/index.js +2 -2
  6. package/dist/lib.cjs/base/plugin/errors.js +2 -2
  7. package/dist/lib.cjs/base/wallet/index.js +15 -20
  8. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
  9. package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +22 -19
  10. package/dist/lib.cjs/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +24 -23
  11. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
  12. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  13. package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -38
  14. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  15. package/dist/lib.cjs/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -48
  16. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +40 -90
  17. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  18. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
  20. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +12 -25
  21. package/dist/lib.cjs/index.js +100 -82
  22. package/dist/lib.cjs/noModal.js +291 -239
  23. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +9 -4
  24. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +43 -199
  25. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  26. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +99 -31
  27. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
  28. package/dist/lib.cjs/providers/base-provider/baseProvider.js +29 -24
  29. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  30. package/dist/lib.cjs/providers/base-provider/index.js +18 -0
  31. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  32. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
  33. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  34. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  35. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  36. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  37. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  38. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  39. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +44 -18
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  41. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  42. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +18 -42
  43. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  44. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +16 -42
  45. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  46. package/dist/lib.esm/base/chain/IChainInterface.js +2 -2
  47. package/dist/lib.esm/base/chain/config.js +63 -22
  48. package/dist/lib.esm/base/connector/baseConnector.js +65 -0
  49. package/dist/lib.esm/base/connector/constants.js +22 -0
  50. package/dist/lib.esm/base/errors/index.js +2 -2
  51. package/dist/lib.esm/base/plugin/errors.js +2 -2
  52. package/dist/lib.esm/base/wallet/index.js +11 -16
  53. package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
  54. package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +23 -20
  55. package/dist/lib.esm/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +25 -24
  56. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
  57. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  58. package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -39
  59. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  60. package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -49
  61. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +41 -91
  62. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  63. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  64. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
  65. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +13 -25
  66. package/dist/lib.esm/index.js +23 -28
  67. package/dist/lib.esm/noModal.js +290 -238
  68. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +9 -4
  69. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +42 -199
  70. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  71. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +96 -31
  72. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
  73. package/dist/lib.esm/providers/base-provider/baseProvider.js +29 -24
  74. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  75. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  76. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  77. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
  78. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  79. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  80. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  81. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  82. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  83. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  84. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +44 -18
  85. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  86. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  87. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +18 -42
  88. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  89. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +16 -42
  90. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  91. package/dist/noModal.cjs.js +12650 -24362
  92. package/dist/noModal.umd.min.js +1 -1
  93. package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
  94. package/dist/types/base/chain/IChainInterface.d.ts +2 -2
  95. package/dist/types/base/chain/config.d.ts +2 -2
  96. package/dist/types/base/connector/baseConnector.d.ts +37 -0
  97. package/dist/types/base/{adapter → connector}/constants.d.ts +7 -4
  98. package/dist/types/base/{adapter → connector}/index.d.ts +1 -1
  99. package/dist/types/base/{adapter → connector}/interfaces.d.ts +47 -45
  100. package/dist/types/base/core/IWeb3Auth.d.ts +75 -34
  101. package/dist/types/base/errors/index.d.ts +1 -1
  102. package/dist/types/base/hooks/index.d.ts +2 -6
  103. package/dist/types/base/index.d.ts +1 -1
  104. package/dist/types/base/plugin/IPlugin.d.ts +4 -7
  105. package/dist/types/base/plugin/errors.d.ts +1 -1
  106. package/dist/types/base/utils.d.ts +1 -1
  107. package/dist/types/base/wallet/index.d.ts +9 -13
  108. package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
  109. package/dist/types/connectors/auth-connector/index.d.ts +2 -0
  110. package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
  111. package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  112. package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
  113. package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  114. package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
  115. package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  116. package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
  117. package/dist/types/connectors/index.d.ts +7 -0
  118. package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
  119. package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  120. package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
  121. package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  122. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +3 -4
  123. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
  124. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
  125. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
  126. package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  127. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
  128. package/dist/types/index.d.ts +1 -1
  129. package/dist/types/noModal.d.ts +29 -14
  130. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
  131. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +8 -32
  132. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +16 -14
  133. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +0 -1
  134. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -6
  135. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
  136. package/dist/types/providers/base-provider/baseProvider.d.ts +14 -11
  137. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +2 -4
  138. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -5
  139. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  140. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +2 -3
  141. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
  142. package/dist/types/providers/solana-provider/interface.d.ts +8 -25
  143. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
  144. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +1 -2
  145. package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  146. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +7 -4
  147. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +4 -4
  148. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +12 -27
  149. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
  150. package/dist/types/providers/solana-provider/solanaWallet.d.ts +21 -7
  151. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +4 -4
  152. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
  153. package/dist/types/react/no-modal/interfaces.d.ts +4 -4
  154. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +2 -2
  155. package/dist/types/vue/no-modal/interfaces.d.ts +5 -8
  156. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +2 -2
  157. package/package.json +8 -7
  158. package/dist/757.noModal.cjs.js +0 -226
  159. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
  160. package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
  161. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
  162. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
  163. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
  164. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
  165. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
  166. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
  167. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
  168. package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
  169. package/dist/lib.cjs/base/adapter/constants.js +0 -24
  170. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
  171. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
  172. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
  173. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
  174. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
  175. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
  176. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
  177. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
  178. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
  179. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
  180. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
  181. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
  182. package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
  183. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
  184. package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
  185. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
  186. package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
  187. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
  188. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
  189. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
  190. package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
  191. package/dist/lib.esm/base/adapter/constants.js +0 -20
  192. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
  193. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
  194. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
  195. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
  196. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
  197. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
  198. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
  199. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
  200. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
  201. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
  202. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
  203. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
  204. package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
  205. package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
  206. package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
  207. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
  208. package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
  209. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
  210. package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
  211. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
  212. package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
  213. package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
  214. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
  215. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
  216. package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
  217. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
  218. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
  219. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
  220. package/dist/types/adapters/index.d.ts +0 -7
  221. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
  222. package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
  223. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
  224. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
  225. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
  226. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
  227. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
  228. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
  229. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
  230. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
  231. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
  232. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
  233. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
  234. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
  235. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
  236. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
  237. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
  238. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
  239. /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
  240. /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  241. /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
  242. /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  243. /package/dist/types/base/{adapter → connector}/utils.d.ts +0 -0
  244. /package/dist/types/{adapters/default-solana-adapter → connectors/injected-solana-connector}/utils.d.ts +0 -0
  245. /package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
@@ -5,14 +5,14 @@ var auth = require('@web3auth/auth');
5
5
  var embed = require('./embed.js');
6
6
  var IPlugin = require('../../base/plugin/IPlugin.js');
7
7
  var errors = require('../../base/plugin/errors.js');
8
- var constants = require('../../base/adapter/constants.js');
8
+ var constants = require('../../base/connector/constants.js');
9
9
 
10
10
  class NFTCheckoutPlugin extends auth.SafeEventEmitter {
11
11
  constructor(params) {
12
12
  super();
13
13
  _defineProperty(this, "name", IPlugin.EVM_PLUGINS.NFT_CHECKOUT);
14
14
  _defineProperty(this, "status", IPlugin.PLUGIN_STATUS.DISCONNECTED);
15
- _defineProperty(this, "SUPPORTED_ADAPTERS", ["all"]);
15
+ _defineProperty(this, "SUPPORTED_CONNECTORS", ["all"]);
16
16
  _defineProperty(this, "pluginNamespace", IPlugin.PLUGIN_NAMESPACES.EIP155);
17
17
  _defineProperty(this, "web3auth", null);
18
18
  _defineProperty(this, "nftCheckoutEmbedInstance", null);
@@ -35,7 +35,7 @@ class NFTCheckoutPlugin extends auth.SafeEventEmitter {
35
35
  if (!this.isInitialized) throw errors.NFTCheckoutPluginError.notInitialized();
36
36
  this.emit(IPlugin.PLUGIN_EVENTS.CONNECTING);
37
37
  this.status = IPlugin.PLUGIN_STATUS.CONNECTING;
38
- if (this.web3auth.status !== constants.ADAPTER_STATUS.CONNECTED) throw errors.NFTCheckoutPluginError.web3AuthNotConnected();
38
+ if (this.web3auth.status !== constants.CONNECTOR_STATUS.CONNECTED) throw errors.NFTCheckoutPluginError.web3AuthNotConnected();
39
39
  if (!this.web3auth.provider) throw errors.NFTCheckoutPluginError.providerRequired();
40
40
  const accounts = await this.web3auth.provider.request({
41
41
  method: "eth_accounts"
@@ -67,5 +67,10 @@ class NFTCheckoutPlugin extends auth.SafeEventEmitter {
67
67
  return Promise.resolve();
68
68
  }
69
69
  }
70
+ const nftCheckoutPlugin = params => {
71
+ return () => {
72
+ return new NFTCheckoutPlugin(params);
73
+ };
74
+ };
70
75
 
71
- exports.NFTCheckoutPlugin = NFTCheckoutPlugin;
76
+ exports.nftCheckoutPlugin = nftCheckoutPlugin;
@@ -1,94 +1,49 @@
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
5
  var IChainInterface = require('../../base/chain/IChainInterface.js');
8
6
  var loglevel = require('../../base/loglevel.js');
9
7
  var index = require('../../base/wallet/index.js');
8
+ var wsEmbed = require('@web3auth/ws-embed');
10
9
  var errors = require('../../base/plugin/errors.js');
11
10
  var IPlugin = require('../../base/plugin/IPlugin.js');
12
- var constants = require('../../base/adapter/constants.js');
11
+ var constants = require('../../base/connector/constants.js');
13
12
 
13
+ // TODO: support project config items here. incl. key export flag, multiple chains
14
14
  class WalletServicesPlugin extends auth.SafeEventEmitter {
15
- constructor(options = {}) {
16
- super();
15
+ constructor(...args) {
16
+ super(...args);
17
17
  _defineProperty(this, "name", IPlugin.EVM_PLUGINS.WALLET_SERVICES);
18
18
  _defineProperty(this, "status", IPlugin.PLUGIN_STATUS.DISCONNECTED);
19
- _defineProperty(this, "SUPPORTED_ADAPTERS", [index.WALLET_ADAPTERS.AUTH, index.WALLET_ADAPTERS.SFA]);
19
+ _defineProperty(this, "SUPPORTED_CONNECTORS", [index.WALLET_CONNECTORS.AUTH, index.WALLET_CONNECTORS.SFA]);
20
20
  _defineProperty(this, "pluginNamespace", IPlugin.PLUGIN_NAMESPACES.MULTICHAIN);
21
21
  _defineProperty(this, "wsEmbedInstance", void 0);
22
22
  _defineProperty(this, "provider", null);
23
23
  _defineProperty(this, "web3auth", null);
24
24
  _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
25
  }
34
26
  get proxyProvider() {
35
- return this.wsEmbedInstance.provider ? this.wsEmbedInstance.provider : null;
27
+ var _this$wsEmbedInstance;
28
+ return (_this$wsEmbedInstance = this.wsEmbedInstance) !== null && _this$wsEmbedInstance !== void 0 && _this$wsEmbedInstance.provider ? this.wsEmbedInstance.provider : null;
36
29
  }
37
- async initWithWeb3Auth(web3auth, whiteLabel) {
38
- var _this$walletInitOptio, _this$web3auth$coreOp;
30
+ async initWithWeb3Auth(web3auth, _whiteLabel) {
39
31
  if (this.isInitialized) return;
40
32
  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();
33
+ if (web3auth.provider && !this.SUPPORTED_CONNECTORS.includes(web3auth.connectedConnectorName)) throw errors.WalletServicesPluginError.notInitialized();
34
+ const currentChainConfig = web3auth.currentChain;
35
+ if (![IChainInterface.CHAIN_NAMESPACES.EIP155, IChainInterface.CHAIN_NAMESPACES.SOLANA].includes(currentChainConfig.chainNamespace)) throw errors.WalletServicesPluginError.unsupportedChainNamespace();
36
+
43
37
  // Not connected yet to auth
44
38
  if (web3auth.provider) {
45
39
  this.provider = web3auth.provider;
46
40
  }
47
41
  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
42
 
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);
43
+ // Auth connector uses WS embed
44
+ const authInstance = web3auth.getConnector(index.WALLET_CONNECTORS.AUTH);
45
+ if (!authInstance || !authInstance.wsEmbed) throw errors.WalletServicesPluginError.web3AuthNotConnected();
46
+ this.wsEmbedInstance = authInstance.wsEmbed;
92
47
  this.isInitialized = true;
93
48
  this.status = IPlugin.PLUGIN_STATUS.READY;
94
49
  this.emit(IPlugin.PLUGIN_EVENTS.READY);
@@ -96,11 +51,8 @@ class WalletServicesPlugin extends auth.SafeEventEmitter {
96
51
  initWithProvider() {
97
52
  throw new Error("Method not implemented.");
98
53
  }
99
- async connect({
100
- sessionId,
101
- sessionNamespace
102
- }) {
103
- // 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
104
56
  if (!this.isInitialized) throw errors.WalletServicesPluginError.notInitialized();
105
57
  this.emit(IPlugin.PLUGIN_EVENTS.CONNECTING);
106
58
  this.status = IPlugin.PLUGIN_STATUS.CONNECTING;
@@ -110,21 +62,12 @@ class WalletServicesPlugin extends auth.SafeEventEmitter {
110
62
  this.provider = this.web3auth.provider;
111
63
  }
112
64
  }
113
- if (this.web3auth.status !== constants.ADAPTER_STATUS.CONNECTED) {
65
+ if (this.web3auth.status !== constants.CONNECTOR_STATUS.CONNECTED) {
114
66
  throw errors.WalletServicesPluginError.web3AuthNotConnected();
115
67
  } else if (!this.web3auth.provider) {
116
68
  throw errors.WalletServicesPluginError.providerRequired();
117
69
  }
118
- if (!sessionId) {
119
- throw errors.WalletServicesPluginError.web3AuthNotConnected();
120
- }
121
70
  try {
122
- await this.wsEmbedInstance.loginWithSessionId({
123
- sessionId,
124
- sessionNamespace
125
- });
126
- this.subscribeToProviderEvents(this.provider);
127
- this.subscribeToWalletEvents();
128
71
  this.emit(IPlugin.PLUGIN_EVENTS.CONNECTED);
129
72
  this.status = IPlugin.PLUGIN_STATUS.CONNECTED;
130
73
  } catch (error) {
@@ -136,150 +79,51 @@ class WalletServicesPlugin extends auth.SafeEventEmitter {
136
79
  }
137
80
  }
138
81
  async showWalletConnectScanner(showWalletConnectParams) {
139
- if (!this.wsEmbedInstance.isLoggedIn) throw errors.WalletServicesPluginError.walletPluginNotConnected();
82
+ var _this$wsEmbedInstance2;
83
+ if (!((_this$wsEmbedInstance2 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance2 !== void 0 && _this$wsEmbedInstance2.isLoggedIn)) throw errors.WalletServicesPluginError.walletPluginNotConnected();
140
84
  return this.wsEmbedInstance.showWalletConnectScanner(showWalletConnectParams);
141
85
  }
142
86
  async showCheckout(showCheckoutParams) {
143
- if (!this.wsEmbedInstance.isLoggedIn) throw errors.WalletServicesPluginError.walletPluginNotConnected();
87
+ var _this$wsEmbedInstance3;
88
+ if (!((_this$wsEmbedInstance3 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance3 !== void 0 && _this$wsEmbedInstance3.isLoggedIn)) throw errors.WalletServicesPluginError.walletPluginNotConnected();
144
89
  return this.wsEmbedInstance.showCheckout(showCheckoutParams);
145
90
  }
146
91
  async showWalletUi(showWalletUiParams) {
147
- if (!this.wsEmbedInstance.isLoggedIn) throw errors.WalletServicesPluginError.walletPluginNotConnected();
92
+ var _this$wsEmbedInstance4;
93
+ if (!((_this$wsEmbedInstance4 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance4 !== void 0 && _this$wsEmbedInstance4.isLoggedIn)) throw errors.WalletServicesPluginError.walletPluginNotConnected();
148
94
  return this.wsEmbedInstance.showWalletUi(showWalletUiParams);
149
95
  }
150
96
  async showSwap(showSwapParams) {
151
- if (!this.wsEmbedInstance.isLoggedIn) throw errors.WalletServicesPluginError.walletPluginNotConnected();
97
+ var _this$wsEmbedInstance5;
98
+ if (!((_this$wsEmbedInstance5 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance5 !== void 0 && _this$wsEmbedInstance5.isLoggedIn)) throw errors.WalletServicesPluginError.walletPluginNotConnected();
152
99
  return this.wsEmbedInstance.showSwap(showSwapParams);
153
100
  }
154
101
  async cleanup() {
155
- return this.wsEmbedInstance.cleanUp();
102
+ var _this$wsEmbedInstance6;
103
+ return (_this$wsEmbedInstance6 = this.wsEmbedInstance) === null || _this$wsEmbedInstance6 === void 0 ? void 0 : _this$wsEmbedInstance6.cleanUp();
156
104
  }
157
105
  async disconnect() {
158
- // if web3auth is being used and connected to unsupported adapter throw error
159
- if (this.wsEmbedInstance.isLoggedIn) {
106
+ var _this$wsEmbedInstance7;
107
+ if (this.status !== IPlugin.PLUGIN_STATUS.CONNECTED) throw errors.WalletServicesPluginError.invalidSession("Wallet Services plugin is not connected");
108
+ if ((_this$wsEmbedInstance7 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance7 !== void 0 && _this$wsEmbedInstance7.isLoggedIn) {
160
109
  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
110
  }
111
+ this.emit(IPlugin.PLUGIN_EVENTS.DISCONNECTED);
112
+ this.status = IPlugin.PLUGIN_STATUS.DISCONNECTED;
274
113
  }
275
114
  }
115
+ const walletServicesPlugin = () => {
116
+ return () => {
117
+ return new WalletServicesPlugin();
118
+ };
119
+ };
276
120
 
277
121
  Object.defineProperty(exports, "BUTTON_POSITION", {
278
122
  enumerable: true,
279
- get: function () { return WsEmbed.BUTTON_POSITION; }
123
+ get: function () { return wsEmbed.BUTTON_POSITION; }
280
124
  });
281
125
  Object.defineProperty(exports, "CONFIRMATION_STRATEGY", {
282
126
  enumerable: true,
283
- get: function () { return WsEmbed.CONFIRMATION_STRATEGY; }
127
+ get: function () { return wsEmbed.CONFIRMATION_STRATEGY; }
284
128
  });
285
- exports.WalletServicesPlugin = WalletServicesPlugin;
129
+ 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,15 @@
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
9
  var IChainInterface = require('../../../base/chain/IChainInterface.js');
9
10
  var index = require('../../../base/errors/index.js');
11
+ var baseProvider = require('../../base-provider/baseProvider.js');
10
12
  var ethRpcMiddlewares = require('../rpc/ethRpcMiddlewares.js');
11
13
  var utils = require('./utils.js');
12
- var baseProvider = require('../../base-provider/baseProvider.js');
13
14
 
14
15
  var _AccountAbstractionProvider;
15
16
  class AccountAbstractionProvider extends baseProvider.BaseProvider {
@@ -26,6 +27,9 @@ class AccountAbstractionProvider extends baseProvider.BaseProvider {
26
27
  _defineProperty(this, "_publicClient", void 0);
27
28
  _defineProperty(this, "_bundlerClient", void 0);
28
29
  _defineProperty(this, "_paymasterClient", void 0);
30
+ this.update({
31
+ chainId: config.chain.chainId
32
+ });
29
33
  }
30
34
  get smartAccount() {
31
35
  return this._smartAccount;
@@ -51,37 +55,40 @@ class AccountAbstractionProvider extends baseProvider.BaseProvider {
51
55
  }
52
56
  async setupProvider(eoaProvider) {
53
57
  var _this$config$bundlerC;
58
+ const {
59
+ currentChain
60
+ } = this;
54
61
  const {
55
62
  chainNamespace
56
- } = this.config.chainConfig;
63
+ } = currentChain;
57
64
  if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw index.WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
58
65
  const chain = viem.defineChain({
59
- id: Number.parseInt(this.config.chainConfig.chainId, 16),
66
+ id: Number.parseInt(currentChain.chainId, 16),
60
67
  // id in number form
61
- name: this.config.chainConfig.displayName,
68
+ name: currentChain.displayName,
62
69
  rpcUrls: {
63
70
  default: {
64
- http: [this.config.chainConfig.rpcTarget],
65
- webSocket: [this.config.chainConfig.wsTarget]
71
+ http: [currentChain.rpcTarget],
72
+ webSocket: [currentChain.wsTarget]
66
73
  }
67
74
  },
68
- blockExplorers: this.config.chainConfig.blockExplorerUrl ? {
75
+ blockExplorers: currentChain.blockExplorerUrl ? {
69
76
  default: {
70
77
  name: "explorer",
71
78
  // TODO: correct name if chain config has it
72
- url: this.config.chainConfig.blockExplorerUrl
79
+ url: currentChain.blockExplorerUrl
73
80
  }
74
81
  } : undefined,
75
82
  nativeCurrency: {
76
- name: this.config.chainConfig.tickerName,
77
- symbol: this.config.chainConfig.ticker,
78
- decimals: this.config.chainConfig.decimals || 18
83
+ name: currentChain.tickerName,
84
+ symbol: currentChain.ticker,
85
+ decimals: currentChain.decimals || 18
79
86
  }
80
87
  });
81
88
  // setup public client for viem smart account
82
89
  this._publicClient = viem.createPublicClient({
83
90
  chain,
84
- transport: viem.http(this.config.chainConfig.rpcTarget)
91
+ transport: viem.http(currentChain.rpcTarget)
85
92
  });
86
93
  this._smartAccount = await this.config.smartAccountInit.getSmartAccount({
87
94
  owner: eoaProvider,
@@ -119,8 +126,12 @@ class AccountAbstractionProvider extends baseProvider.BaseProvider {
119
126
  engine.push(eoaMiddleware);
120
127
  const provider = auth.providerFromEngine(engine);
121
128
  this.updateProviderEngineProxy(provider);
122
- eoaProvider.once("chainChanged", () => {
129
+ eoaProvider.once("chainChanged", chainId => {
130
+ this.update({
131
+ chainId
132
+ });
123
133
  this.setupChainSwitchMiddleware();
134
+ this.emit("chainChanged", chainId);
124
135
  });
125
136
  }
126
137
  async updateAccount(_params) {
@@ -133,32 +144,89 @@ class AccountAbstractionProvider extends baseProvider.BaseProvider {
133
144
  throw auth.providerErrors.unsupportedMethod("lookupNetwork. Please call it on eoaProvider");
134
145
  }
135
146
  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
147
  return this.setupProvider(this.state.eoaProvider);
150
148
  }
151
149
  }
152
150
  _AccountAbstractionProvider = AccountAbstractionProvider;
153
151
  _defineProperty(AccountAbstractionProvider, "getProviderInstance", async params => {
154
- const providerFactory = new _AccountAbstractionProvider({
152
+ const providerInstance = new _AccountAbstractionProvider({
155
153
  config: params
156
154
  });
157
- await providerFactory.setupProvider(params.eoaProvider);
158
- providerFactory.update({
155
+ await providerInstance.setupProvider(params.eoaProvider);
156
+ providerInstance.update({
159
157
  eoaProvider: params.eoaProvider
160
158
  });
161
- return providerFactory;
159
+ return providerInstance;
162
160
  });
161
+ const accountAbstractionProvider = async ({
162
+ accountAbstractionConfig,
163
+ chain,
164
+ chains,
165
+ provider
166
+ }) => {
167
+ let smartAccountInit;
168
+ const {
169
+ smartAccountType,
170
+ smartAccountConfig,
171
+ bundlerConfig,
172
+ paymasterConfig
173
+ } = accountAbstractionConfig;
174
+ switch (smartAccountType) {
175
+ case ethereumControllers.SMART_ACCOUNT.BICONOMY:
176
+ {
177
+ const {
178
+ BiconomySmartAccount
179
+ } = await import('@toruslabs/ethereum-controllers');
180
+ smartAccountInit = new BiconomySmartAccount(smartAccountConfig);
181
+ break;
182
+ }
183
+ case ethereumControllers.SMART_ACCOUNT.KERNEL:
184
+ {
185
+ const {
186
+ KernelSmartAccount
187
+ } = await import('@toruslabs/ethereum-controllers');
188
+ smartAccountInit = new KernelSmartAccount(smartAccountConfig);
189
+ break;
190
+ }
191
+ case ethereumControllers.SMART_ACCOUNT.NEXUS:
192
+ {
193
+ const {
194
+ NexusSmartAccount
195
+ } = await import('@toruslabs/ethereum-controllers');
196
+ smartAccountInit = new NexusSmartAccount(smartAccountConfig);
197
+ break;
198
+ }
199
+ case ethereumControllers.SMART_ACCOUNT.SAFE:
200
+ {
201
+ const {
202
+ SafeSmartAccount
203
+ } = await import('@toruslabs/ethereum-controllers');
204
+ smartAccountInit = new SafeSmartAccount(smartAccountConfig);
205
+ break;
206
+ }
207
+ case ethereumControllers.SMART_ACCOUNT.TRUST:
208
+ {
209
+ const {
210
+ TrustSmartAccount
211
+ } = await import('@toruslabs/ethereum-controllers');
212
+ smartAccountInit = new TrustSmartAccount(smartAccountConfig);
213
+ break;
214
+ }
215
+ default:
216
+ throw new Error("Smart account type not supported");
217
+ }
218
+ return AccountAbstractionProvider.getProviderInstance({
219
+ eoaProvider: provider,
220
+ smartAccountInit,
221
+ chain,
222
+ chains,
223
+ bundlerConfig,
224
+ paymasterConfig
225
+ });
226
+ };
163
227
 
164
- exports.AccountAbstractionProvider = AccountAbstractionProvider;
228
+ Object.defineProperty(exports, "SMART_ACCOUNT", {
229
+ enumerable: true,
230
+ get: function () { return ethereumControllers.SMART_ACCOUNT; }
231
+ });
232
+ exports.accountAbstractionProvider = accountAbstractionProvider;