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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/dist/757.noModal.cjs.js +226 -0
  2. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
  3. package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
  4. package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
  5. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
  6. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
  7. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
  8. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
  9. package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
  10. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
  11. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
  12. package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
  13. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
  14. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
  15. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
  16. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
  17. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
  18. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
  19. package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
  20. package/dist/lib.cjs/base/adapter/constants.js +24 -0
  21. package/dist/lib.cjs/base/adapter/utils.js +66 -0
  22. package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
  23. package/dist/lib.cjs/base/chain/config.js +281 -0
  24. package/dist/lib.cjs/base/composables/index.js +5 -0
  25. package/dist/lib.cjs/base/errors/index.js +244 -0
  26. package/dist/lib.cjs/base/loglevel.js +7 -0
  27. package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
  28. package/dist/lib.cjs/base/plugin/errors.js +107 -0
  29. package/dist/lib.cjs/base/provider/IProvider.js +8 -0
  30. package/dist/lib.cjs/base/utils.js +56 -0
  31. package/dist/lib.cjs/base/wallet/index.js +31 -0
  32. package/dist/lib.cjs/index.js +200 -0
  33. package/dist/lib.cjs/noModal.js +98 -90
  34. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
  35. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
  36. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
  37. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
  38. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
  39. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
  40. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
  41. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
  42. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
  43. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
  44. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
  45. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
  46. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
  47. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
  48. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
  49. package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
  50. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
  51. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
  52. package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
  53. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
  54. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
  55. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
  56. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
  57. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
  58. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
  59. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
  60. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
  61. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
  62. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
  63. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
  64. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
  65. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
  66. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
  67. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
  68. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
  69. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
  70. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
  71. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
  72. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
  73. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
  74. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
  75. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
  76. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
  77. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
  78. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
  79. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
  80. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
  81. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
  82. package/dist/lib.cjs/react/index.js +16 -0
  83. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
  84. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
  85. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
  86. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
  87. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
  88. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
  89. package/dist/lib.cjs/vue/index.js +15 -0
  90. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
  91. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
  92. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
  93. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
  94. package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
  95. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
  96. package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
  97. package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
  98. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
  99. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
  100. package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
  101. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
  102. package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
  103. package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
  104. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
  105. package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
  106. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
  107. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
  108. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
  109. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
  110. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
  111. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
  112. package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
  113. package/dist/lib.esm/base/adapter/constants.js +20 -0
  114. package/dist/lib.esm/base/adapter/utils.js +60 -0
  115. package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
  116. package/dist/lib.esm/base/chain/config.js +276 -0
  117. package/dist/lib.esm/base/composables/index.js +3 -0
  118. package/dist/lib.esm/base/errors/index.js +237 -0
  119. package/dist/lib.esm/base/loglevel.js +5 -0
  120. package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
  121. package/dist/lib.esm/base/plugin/errors.js +104 -0
  122. package/dist/lib.esm/base/provider/IProvider.js +6 -0
  123. package/dist/lib.esm/base/utils.js +46 -0
  124. package/dist/lib.esm/base/wallet/index.js +25 -0
  125. package/dist/lib.esm/index.js +58 -0
  126. package/dist/lib.esm/noModal.js +12 -4
  127. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
  128. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
  129. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
  130. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
  131. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
  132. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
  133. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
  134. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
  135. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
  136. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
  137. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
  138. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
  139. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
  140. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
  141. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
  142. package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
  143. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
  144. package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
  145. package/dist/lib.esm/providers/base-provider/utils.js +6 -0
  146. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
  147. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
  148. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
  149. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
  150. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
  151. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
  152. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
  153. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
  154. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
  155. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
  156. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
  157. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
  158. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
  159. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
  160. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
  161. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
  162. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
  163. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
  164. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
  165. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
  166. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
  167. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
  168. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
  169. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
  170. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
  171. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
  172. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
  173. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
  174. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
  175. package/dist/lib.esm/react/index.js +5 -0
  176. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
  177. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
  178. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
  179. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
  180. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
  181. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
  182. package/dist/lib.esm/vue/index.js +5 -0
  183. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
  184. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
  185. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
  186. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
  187. package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
  188. package/dist/noModal.cjs.js +26314 -364
  189. package/dist/noModal.umd.min.js +1 -1
  190. package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
  191. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
  192. package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
  193. package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
  194. package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
  195. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
  196. package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
  197. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
  198. package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
  199. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
  200. package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
  201. package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
  202. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
  203. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
  204. package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
  205. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
  206. package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
  207. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
  208. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
  209. package/dist/types/adapters/index.d.ts +7 -0
  210. package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
  211. package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
  212. package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
  213. package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
  214. package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
  215. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
  216. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
  217. package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
  218. package/dist/types/base/adapter/constants.d.ts +22 -0
  219. package/dist/types/base/adapter/index.d.ts +4 -0
  220. package/dist/types/base/adapter/interfaces.d.ts +143 -0
  221. package/dist/types/base/adapter/utils.d.ts +5 -0
  222. package/dist/types/base/chain/IChainInterface.d.ts +59 -0
  223. package/dist/types/base/chain/config.d.ts +5 -0
  224. package/dist/types/base/composables/index.d.ts +1 -0
  225. package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
  226. package/dist/types/base/errors/index.d.ts +69 -0
  227. package/dist/types/base/hooks/index.d.ts +37 -0
  228. package/dist/types/base/index.d.ts +13 -0
  229. package/dist/types/base/interfaces.d.ts +44 -0
  230. package/dist/types/base/loglevel.d.ts +2 -0
  231. package/dist/types/base/plugin/IPlugin.d.ts +53 -0
  232. package/dist/types/base/plugin/errors.d.ts +28 -0
  233. package/dist/types/base/plugin/index.d.ts +2 -0
  234. package/dist/types/base/provider/IProvider.d.ts +16 -0
  235. package/dist/types/base/utils.d.ts +9 -0
  236. package/dist/types/base/wallet/index.d.ts +33 -0
  237. package/dist/types/index.d.ts +4 -0
  238. package/dist/types/noModal.d.ts +2 -2
  239. package/dist/types/plugins/index.d.ts +2 -0
  240. package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
  241. package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
  242. package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
  243. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
  244. package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
  245. package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
  246. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
  247. package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
  248. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
  249. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
  250. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
  251. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
  252. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
  253. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
  254. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
  255. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
  256. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
  257. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
  258. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
  259. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
  260. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
  261. package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
  262. package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
  263. package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
  264. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
  265. package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
  266. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
  267. package/dist/types/providers/base-provider/index.d.ts +5 -0
  268. package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
  269. package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
  270. package/dist/types/providers/base-provider/utils.d.ts +2 -0
  271. package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  272. package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
  273. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
  274. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
  275. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
  276. package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
  277. package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
  278. package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
  279. package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
  280. package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
  281. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
  282. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
  283. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
  284. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
  285. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
  286. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
  287. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
  288. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
  289. package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
  290. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
  291. package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
  292. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
  293. package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
  294. package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
  295. package/dist/types/providers/index.d.ts +6 -0
  296. package/dist/types/providers/solana-provider/index.d.ts +4 -0
  297. package/dist/types/providers/solana-provider/interface.d.ts +39 -0
  298. package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
  300. package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
  301. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
  302. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
  303. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
  304. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
  305. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
  306. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
  307. package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
  308. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
  309. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
  310. package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
  311. package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
  312. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
  313. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
  314. package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
  315. package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
  316. package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
  317. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
  318. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
  319. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
  320. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
  321. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
  322. package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
  323. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
  324. package/dist/types/react/index.d.ts +2 -0
  325. package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
  326. package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
  327. package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
  328. package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
  329. package/dist/types/react/no-modal/index.d.ts +3 -0
  330. package/dist/types/react/no-modal/interfaces.d.ts +15 -0
  331. package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
  332. package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
  333. package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
  334. package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
  335. package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
  336. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
  337. package/dist/types/vue/index.d.ts +2 -0
  338. package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
  339. package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
  340. package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
  341. package/dist/types/vue/no-modal/index.d.ts +3 -0
  342. package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
  343. package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
  344. package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
  345. package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
  346. package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
  347. package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
  348. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
  349. package/package.json +76 -15
  350. package/README.md +0 -82
  351. package/dist/noModal.esm.js +0 -359
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var walletSdk = require('@coinbase/wallet-sdk');
6
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
7
+ var index$1 = require('../../base/errors/index.js');
8
+ var index = require('../../base/wallet/index.js');
9
+ var baseEvmAdapter = require('../base-evm-adapter/baseEvmAdapter.js');
10
+ var constants = require('../../base/adapter/constants.js');
11
+
12
+ class CoinbaseAdapter extends baseEvmAdapter.BaseEvmAdapter {
13
+ constructor(adapterOptions = {}) {
14
+ super(adapterOptions);
15
+ _defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.EIP155);
16
+ _defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.EIP155);
17
+ _defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
18
+ _defineProperty(this, "name", index.WALLET_ADAPTERS.COINBASE);
19
+ _defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
20
+ _defineProperty(this, "coinbaseProvider", null);
21
+ _defineProperty(this, "coinbaseOptions", {
22
+ appName: "Web3Auth"
23
+ });
24
+ this.setAdapterSettings(adapterOptions);
25
+ }
26
+ get provider() {
27
+ if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.coinbaseProvider) {
28
+ return this.coinbaseProvider;
29
+ }
30
+ return null;
31
+ }
32
+ set provider(_) {
33
+ throw new Error("Not implemented");
34
+ }
35
+ setAdapterSettings(options) {
36
+ super.setAdapterSettings(options);
37
+ this.coinbaseOptions = _objectSpread(_objectSpread({}, this.coinbaseOptions), options.adapterSettings);
38
+ }
39
+ async init(options = {}) {
40
+ await super.init(options);
41
+ super.checkInitializationRequirements();
42
+ const coinbaseInstance = new walletSdk.CoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
43
+ appChainIds: [Number.parseInt(this.chainConfig.chainId, 16)]
44
+ }));
45
+ this.coinbaseProvider = coinbaseInstance.makeWeb3Provider({
46
+ options: this.coinbaseOptions.options || "smartWalletOnly"
47
+ });
48
+ this.status = constants.ADAPTER_STATUS.READY;
49
+ this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.COINBASE);
50
+ try {
51
+ if (options.autoConnect) {
52
+ this.rehydrated = true;
53
+ await this.connect();
54
+ }
55
+ } catch (error) {
56
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
57
+ }
58
+ }
59
+ async connect() {
60
+ super.checkConnectionRequirements();
61
+ if (!this.coinbaseProvider) throw index$1.WalletLoginError.notConnectedError("Adapter is not initialized");
62
+ this.status = constants.ADAPTER_STATUS.CONNECTING;
63
+ this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
64
+ adapter: index.WALLET_ADAPTERS.COINBASE
65
+ });
66
+ try {
67
+ await this.coinbaseProvider.request({
68
+ method: "eth_requestAccounts"
69
+ });
70
+ const chainId = await this.coinbaseProvider.request({
71
+ method: "eth_chainId"
72
+ });
73
+ if (chainId !== this.chainConfig.chainId) {
74
+ await this.addChain(this.chainConfig);
75
+ await this.switchChain(this.chainConfig, true);
76
+ }
77
+ this.status = constants.ADAPTER_STATUS.CONNECTED;
78
+ if (!this.provider) throw index$1.WalletLoginError.notConnectedError("Failed to connect with provider");
79
+ this.provider.once("disconnect", () => {
80
+ // ready to be connected again
81
+ this.disconnect();
82
+ });
83
+ this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
84
+ adapter: index.WALLET_ADAPTERS.COINBASE,
85
+ reconnected: this.rehydrated,
86
+ provider: this.provider
87
+ });
88
+ return this.provider;
89
+ } catch (error) {
90
+ // ready again to be connected
91
+ this.status = constants.ADAPTER_STATUS.READY;
92
+ this.rehydrated = false;
93
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
94
+ if (error instanceof index$1.Web3AuthError) throw error;
95
+ throw index$1.WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
96
+ }
97
+ }
98
+ async disconnect(options = {
99
+ cleanup: false
100
+ }) {
101
+ var _this$provider;
102
+ await super.disconnectSession();
103
+ (_this$provider = this.provider) === null || _this$provider === void 0 || _this$provider.removeAllListeners();
104
+ if (options.cleanup) {
105
+ this.status = constants.ADAPTER_STATUS.NOT_READY;
106
+ this.coinbaseProvider = null;
107
+ } else {
108
+ // ready to be connected again
109
+ this.status = constants.ADAPTER_STATUS.READY;
110
+ }
111
+ await super.disconnect();
112
+ }
113
+ async getUserInfo() {
114
+ if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
115
+ return {};
116
+ }
117
+ async addChain(chainConfig, init = false) {
118
+ super.checkAddChainRequirements(chainConfig, init);
119
+ await this.coinbaseProvider.request({
120
+ method: "wallet_addEthereumChain",
121
+ params: [{
122
+ chainId: chainConfig.chainId,
123
+ chainName: chainConfig.displayName,
124
+ rpcUrls: [chainConfig.rpcTarget],
125
+ blockExplorerUrls: [chainConfig.blockExplorerUrl],
126
+ nativeCurrency: {
127
+ name: chainConfig.tickerName,
128
+ symbol: chainConfig.ticker,
129
+ decimals: chainConfig.decimals || 18
130
+ },
131
+ iconUrls: [chainConfig.logo]
132
+ }]
133
+ });
134
+ super.addChainConfig(chainConfig);
135
+ }
136
+ async switchChain(params, init = false) {
137
+ super.checkSwitchChainRequirements(params, init);
138
+ await this.coinbaseProvider.request({
139
+ method: "wallet_switchEthereumChain",
140
+ params: [{
141
+ chainId: params.chainId
142
+ }]
143
+ });
144
+ this.setAdapterSettings({
145
+ chainConfig: this.getChainConfig(params.chainId)
146
+ });
147
+ }
148
+ async enableMFA() {
149
+ throw new Error("Method Not implemented");
150
+ }
151
+ async manageMFA() {
152
+ throw new Error("Method Not implemented");
153
+ }
154
+ }
155
+
156
+ exports.CoinbaseAdapter = CoinbaseAdapter;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var config = require('../../base/chain/config.js');
5
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
6
+ var index = require('../../base/errors/index.js');
7
+ var injectedAdapters = require('./injectedAdapters.js');
8
+ var walletConnectV2adapter = require('../wallet-connect-v2-adapter/walletConnectV2adapter.js');
9
+
10
+ const getEvmDefaultExternalAdapters = params => {
11
+ const {
12
+ options
13
+ } = params;
14
+ const {
15
+ clientId,
16
+ chainConfig,
17
+ sessionTime,
18
+ web3AuthNetwork,
19
+ useCoreKitKey
20
+ } = options;
21
+ if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
22
+ const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
23
+ const wcv2Adapter = new walletConnectV2adapter.WalletConnectV2Adapter({
24
+ chainConfig: finalChainConfig,
25
+ clientId,
26
+ sessionTime,
27
+ web3AuthNetwork,
28
+ useCoreKitKey,
29
+ adapterSettings: {
30
+ walletConnectInitOptions: {}
31
+ }
32
+ });
33
+ const injectedProviders = injectedAdapters.getEvmInjectedAdapters({
34
+ options
35
+ });
36
+ return [...injectedProviders, wcv2Adapter];
37
+ };
38
+
39
+ exports.getEvmInjectedAdapters = injectedAdapters.getEvmInjectedAdapters;
40
+ exports.getEvmDefaultExternalAdapters = getEvmDefaultExternalAdapters;
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var mipd = require('mipd');
5
+ var config = require('../../base/chain/config.js');
6
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
7
+ var index = require('../../base/errors/index.js');
8
+ var utils = require('../../base/utils.js');
9
+ var injectedEvmAdapter = require('./injectedEvmAdapter.js');
10
+
11
+ const getEvmInjectedAdapters = params => {
12
+ const {
13
+ options
14
+ } = params;
15
+ const {
16
+ clientId,
17
+ chainConfig,
18
+ sessionTime,
19
+ web3AuthNetwork,
20
+ useCoreKitKey
21
+ } = options;
22
+ if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
23
+ const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
24
+ // EIP-6963: multiple injected provider discovery
25
+ const mipd$1 = mipd.createStore();
26
+ // We assume that all extensions have emitted by here.
27
+ // TODO: Ideally, we must use reactive listening. We will do that with v9
28
+ const injectedProviders = mipd$1.getProviders().map(providerDetail => {
29
+ return new injectedEvmAdapter.InjectedEvmAdapter({
30
+ name: utils.normalizeWalletName(providerDetail.info.name),
31
+ provider: providerDetail.provider,
32
+ chainConfig: finalChainConfig,
33
+ clientId,
34
+ sessionTime,
35
+ web3AuthNetwork,
36
+ useCoreKitKey
37
+ });
38
+ });
39
+ return injectedProviders;
40
+ };
41
+
42
+ exports.getEvmInjectedAdapters = getEvmInjectedAdapters;
@@ -0,0 +1,160 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
5
+ var index = require('../../base/errors/index.js');
6
+ var loglevel = require('../../base/loglevel.js');
7
+ var baseEvmAdapter = require('../base-evm-adapter/baseEvmAdapter.js');
8
+ var constants = require('../../base/adapter/constants.js');
9
+
10
+ class InjectedEvmAdapter extends baseEvmAdapter.BaseEvmAdapter {
11
+ constructor(options) {
12
+ super(options);
13
+ _defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.EIP155);
14
+ _defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.EIP155);
15
+ _defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
16
+ _defineProperty(this, "name", void 0);
17
+ _defineProperty(this, "isInjected", true);
18
+ _defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
19
+ _defineProperty(this, "injectedProvider", null);
20
+ this.name = options.name;
21
+ this.injectedProvider = options.provider;
22
+ }
23
+ get provider() {
24
+ if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.injectedProvider) {
25
+ return this.injectedProvider;
26
+ }
27
+ return null;
28
+ }
29
+ set provider(_) {
30
+ throw new Error("Not implemented");
31
+ }
32
+ async init(options = {}) {
33
+ await super.init(options);
34
+ super.checkInitializationRequirements();
35
+ this.status = constants.ADAPTER_STATUS.READY;
36
+ this.emit(constants.ADAPTER_EVENTS.READY, this.name);
37
+ try {
38
+ loglevel.log.debug(`initializing ${this.name} injected adapter`);
39
+ if (options.autoConnect) {
40
+ this.rehydrated = true;
41
+ await this.connect();
42
+ }
43
+ } catch (error) {
44
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
45
+ }
46
+ }
47
+ async connect() {
48
+ super.checkConnectionRequirements();
49
+ if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
50
+ if (!this.chainConfig) throw index.WalletLoginError.connectionError("Chain config is not available");
51
+ this.status = constants.ADAPTER_STATUS.CONNECTING;
52
+ this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
53
+ adapter: this.name
54
+ });
55
+ try {
56
+ await this.injectedProvider.request({
57
+ method: "eth_requestAccounts"
58
+ });
59
+ // switch chain if not connected to the right chain
60
+ if (this.injectedProvider.chainId !== this.chainConfig.chainId) {
61
+ try {
62
+ await this.switchChain(this.chainConfig, true);
63
+ } catch (error) {
64
+ await this.addChain(this.chainConfig, true);
65
+ await this.switchChain(this.chainConfig, true);
66
+ }
67
+ }
68
+ this.status = constants.ADAPTER_STATUS.CONNECTED;
69
+ const accountDisconnectHandler = accounts => {
70
+ if (accounts.length === 0) {
71
+ var _this$injectedProvide;
72
+ this.disconnect();
73
+ if ((_this$injectedProvide = this.injectedProvider) !== null && _this$injectedProvide !== void 0 && _this$injectedProvide.removeListener) this.injectedProvider.removeListener("accountsChanged", accountDisconnectHandler);
74
+ }
75
+ };
76
+ this.injectedProvider.on("accountsChanged", accountDisconnectHandler);
77
+ this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
78
+ adapter: this.name,
79
+ reconnected: this.rehydrated,
80
+ provider: this.injectedProvider
81
+ });
82
+ return this.injectedProvider;
83
+ } catch (error) {
84
+ // ready again to be connected
85
+ this.status = constants.ADAPTER_STATUS.READY;
86
+ this.rehydrated = false;
87
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
88
+ if (error instanceof index.Web3AuthError) throw error;
89
+ throw index.WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
90
+ }
91
+ }
92
+ async disconnect(options = {
93
+ cleanup: false
94
+ }) {
95
+ if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
96
+ await super.disconnectSession();
97
+ if (typeof this.injectedProvider.removeAllListeners !== "undefined") this.injectedProvider.removeAllListeners();
98
+ try {
99
+ await this.injectedProvider.request({
100
+ method: "wallet_revokePermissions",
101
+ params: [{
102
+ eth_accounts: {}
103
+ }]
104
+ });
105
+ } catch (error) {}
106
+ if (options.cleanup) {
107
+ this.status = constants.ADAPTER_STATUS.NOT_READY;
108
+ this.injectedProvider = null;
109
+ } else {
110
+ // ready to be connected again
111
+ this.status = constants.ADAPTER_STATUS.READY;
112
+ }
113
+ await super.disconnect();
114
+ }
115
+ async getUserInfo() {
116
+ if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
117
+ return {};
118
+ }
119
+ async addChain(chainConfig, init = false) {
120
+ if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
121
+ super.checkAddChainRequirements(chainConfig, init);
122
+ await this.injectedProvider.request({
123
+ method: "wallet_addEthereumChain",
124
+ params: [{
125
+ chainId: chainConfig.chainId,
126
+ chainName: chainConfig.displayName,
127
+ rpcUrls: [chainConfig.rpcTarget],
128
+ blockExplorerUrls: [chainConfig.blockExplorerUrl],
129
+ nativeCurrency: {
130
+ name: chainConfig.tickerName,
131
+ symbol: chainConfig.ticker,
132
+ decimals: chainConfig.decimals || 18
133
+ },
134
+ iconUrls: [chainConfig.logo]
135
+ }]
136
+ });
137
+ this.addChainConfig(chainConfig);
138
+ }
139
+ async switchChain(params, init = false) {
140
+ if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
141
+ super.checkSwitchChainRequirements(params, init);
142
+ await this.injectedProvider.request({
143
+ method: "wallet_switchEthereumChain",
144
+ params: [{
145
+ chainId: params.chainId
146
+ }]
147
+ });
148
+ this.setAdapterSettings({
149
+ chainConfig: this.getChainConfig(params.chainId)
150
+ });
151
+ }
152
+ async enableMFA() {
153
+ throw new Error("Method Not implemented");
154
+ }
155
+ async manageMFA() {
156
+ throw new Error("Method Not implemented");
157
+ }
158
+ }
159
+
160
+ exports.InjectedEvmAdapter = InjectedEvmAdapter;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var config = require('../../base/chain/config.js');
5
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
6
+ var index = require('../../base/errors/index.js');
7
+ var injectedAdapters = require('./injectedAdapters.js');
8
+ var walletConnectV2adapter = require('../wallet-connect-v2-adapter/walletConnectV2adapter.js');
9
+
10
+ const getSolanaDefaultExternalAdapters = params => {
11
+ const {
12
+ options
13
+ } = params;
14
+ const {
15
+ clientId,
16
+ chainConfig,
17
+ sessionTime,
18
+ web3AuthNetwork,
19
+ useCoreKitKey
20
+ } = options;
21
+ if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
22
+ const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
23
+ const wcv2Adapter = new walletConnectV2adapter.WalletConnectV2Adapter({
24
+ chainConfig: finalChainConfig,
25
+ clientId,
26
+ sessionTime,
27
+ web3AuthNetwork,
28
+ useCoreKitKey,
29
+ adapterSettings: {
30
+ walletConnectInitOptions: {}
31
+ }
32
+ });
33
+ const injectedProviders = injectedAdapters.getSolanaInjectedAdapters({
34
+ options
35
+ });
36
+ return [...injectedProviders, wcv2Adapter];
37
+ };
38
+
39
+ exports.getSolanaInjectedAdapters = injectedAdapters.getSolanaInjectedAdapters;
40
+ exports.getSolanaDefaultExternalAdapters = getSolanaDefaultExternalAdapters;
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var walletStandardFeatures = require('@solana/wallet-standard-features');
5
+ var app = require('@wallet-standard/app');
6
+ var features = require('@wallet-standard/features');
7
+ var config = require('../../base/chain/config.js');
8
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
9
+ var index = require('../../base/errors/index.js');
10
+ var utils = require('../../base/utils.js');
11
+ var walletStandardAdapter = require('./walletStandardAdapter.js');
12
+
13
+ const getSolanaInjectedAdapters = params => {
14
+ const {
15
+ options
16
+ } = params;
17
+ const {
18
+ clientId,
19
+ chainConfig,
20
+ sessionTime,
21
+ web3AuthNetwork,
22
+ useCoreKitKey
23
+ } = options;
24
+ if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
25
+ const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
26
+
27
+ // get installed wallets that support standard wallet
28
+ const standardWalletAdapters = [];
29
+ const wallets = app.getWallets().get();
30
+ wallets.forEach(wallet => {
31
+ const {
32
+ name,
33
+ chains,
34
+ features: features$1
35
+ } = wallet;
36
+ const isSolana = chains.some(chain => chain.startsWith("solana"));
37
+ if (!isSolana) return;
38
+ const hasRequiredFeatures = [features.StandardConnect, walletStandardFeatures.SolanaSignMessage, walletStandardFeatures.SolanaSignTransaction, walletStandardFeatures.SolanaSignAndSendTransaction].every(feature => Object.keys(features$1).includes(feature));
39
+ if (!hasRequiredFeatures) return;
40
+ standardWalletAdapters.push(new walletStandardAdapter.WalletStandardAdapter({
41
+ name: utils.normalizeWalletName(name),
42
+ wallet,
43
+ chainConfig: finalChainConfig,
44
+ clientId,
45
+ sessionTime,
46
+ web3AuthNetwork,
47
+ useCoreKitKey
48
+ }));
49
+ });
50
+ return standardWalletAdapters;
51
+ };
52
+
53
+ exports.getSolanaInjectedAdapters = getSolanaInjectedAdapters;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const getSolanaChainByChainConfig = chainConfig => {
4
+ switch (chainConfig.chainId) {
5
+ case "0x65":
6
+ return "solana:mainnet";
7
+ case "0x66":
8
+ return "solana:testnet";
9
+ case "0x67":
10
+ return "solana:devnet";
11
+ default:
12
+ return null;
13
+ }
14
+ };
15
+
16
+ exports.getSolanaChainByChainConfig = getSolanaChainByChainConfig;
@@ -0,0 +1,138 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var features = require('@wallet-standard/features');
5
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
6
+ var index = require('../../base/errors/index.js');
7
+ var loglevel = require('../../base/loglevel.js');
8
+ var utils = require('./utils.js');
9
+ var walletStandardHandler = require('./walletStandardHandler.js');
10
+ var baseSolanaAdapter = require('../base-solana-adapter/baseSolanaAdapter.js');
11
+ var walletStandardProvider = require('../../providers/solana-provider/providers/injectedProviders/walletStandardProvider.js');
12
+ var constants = require('../../base/adapter/constants.js');
13
+
14
+ class WalletStandardAdapter extends baseSolanaAdapter.BaseSolanaAdapter {
15
+ constructor(options) {
16
+ super(options);
17
+ _defineProperty(this, "name", void 0);
18
+ _defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.SOLANA);
19
+ _defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.SOLANA);
20
+ _defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
21
+ _defineProperty(this, "isInjected", true);
22
+ _defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
23
+ _defineProperty(this, "wallet", null);
24
+ _defineProperty(this, "injectedProvider", null);
25
+ this.name = options.name;
26
+ // in VueJS, for some wallets e.g. Gate, Solflare, when connecting it throws error "attempted to get private field on non-instance"
27
+ // it seems that Vue create a Proxy object for the wallet object which causes the issue
28
+ // ref: https://stackoverflow.com/questions/64917686/vue-array-converted-to-proxy-object
29
+ this.wallet = ["gate", "solflare"].includes(this.name) ? Object.freeze(options.wallet) : options.wallet;
30
+ }
31
+ get provider() {
32
+ if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.injectedProvider) {
33
+ return this.injectedProvider;
34
+ }
35
+ return null;
36
+ }
37
+ get isWalletConnected() {
38
+ return !!(this.status === constants.ADAPTER_STATUS.CONNECTED && this.wallet.accounts.length > 0);
39
+ }
40
+ async init(options = {}) {
41
+ await super.init(options);
42
+ super.checkInitializationRequirements();
43
+ this.injectedProvider = new walletStandardProvider.WalletStandardProvider({
44
+ config: {
45
+ chainConfig: this.chainConfig
46
+ }
47
+ });
48
+ const providerHandler = new walletStandardHandler.WalletStandardProviderHandler({
49
+ wallet: this.wallet,
50
+ getCurrentChain: () => utils.getSolanaChainByChainConfig(this.chainConfig)
51
+ });
52
+ this.injectedProvider.setupProvider(providerHandler);
53
+ this.status = constants.ADAPTER_STATUS.READY;
54
+ this.emit(constants.ADAPTER_EVENTS.READY, this.name);
55
+ try {
56
+ loglevel.log.debug("initializing solana injected adapter");
57
+ if (options.autoConnect) {
58
+ this.rehydrated = true;
59
+ await this.connect();
60
+ }
61
+ } catch (error) {
62
+ loglevel.log.error("Failed to connect with cached solana injected provider", error);
63
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
64
+ }
65
+ }
66
+ async connect() {
67
+ try {
68
+ super.checkConnectionRequirements();
69
+ this.status = constants.ADAPTER_STATUS.CONNECTING;
70
+ this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
71
+ adapter: this.name
72
+ });
73
+ const chainName = utils.getSolanaChainByChainConfig(this.chainConfig);
74
+ if (!this.wallet.chains.find(chain => chain === chainName)) throw index.WalletLoginError.connectionError(`Chain ${chainName} not supported. Supported chains are ${this.wallet.chains.join(", ")}`);
75
+ if (!this.isWalletConnected) {
76
+ await this.wallet.features[features.StandardConnect].connect();
77
+ }
78
+ if (this.wallet.accounts.length === 0) throw index.WalletLoginError.connectionError();
79
+ this.status = constants.ADAPTER_STATUS.CONNECTED;
80
+ this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
81
+ adapter: this.name,
82
+ reconnected: this.rehydrated,
83
+ provider: this.provider
84
+ });
85
+ return this.provider;
86
+ } catch (error) {
87
+ // ready again to be connected
88
+ this.status = constants.ADAPTER_STATUS.READY;
89
+ this.rehydrated = false;
90
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
91
+ throw error;
92
+ }
93
+ }
94
+ async disconnect(options = {
95
+ cleanup: false
96
+ }) {
97
+ await super.disconnectSession();
98
+ try {
99
+ var _this$wallet$features;
100
+ await ((_this$wallet$features = this.wallet.features[features.StandardDisconnect]) === null || _this$wallet$features === void 0 ? void 0 : _this$wallet$features.disconnect());
101
+ if (options.cleanup) {
102
+ this.status = constants.ADAPTER_STATUS.NOT_READY;
103
+ this.injectedProvider = null;
104
+ } else {
105
+ this.status = constants.ADAPTER_STATUS.READY;
106
+ }
107
+ await super.disconnect();
108
+ } catch (error) {
109
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, index.WalletLoginError.disconnectionError(error === null || error === void 0 ? void 0 : error.message));
110
+ }
111
+ }
112
+ async getUserInfo() {
113
+ if (!this.isWalletConnected) throw index.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
114
+ return {};
115
+ }
116
+ async addChain(chainConfig, init = false) {
117
+ var _this$injectedProvide;
118
+ super.checkAddChainRequirements(chainConfig, init);
119
+ (_this$injectedProvide = this.injectedProvider) === null || _this$injectedProvide === void 0 || _this$injectedProvide.addChain(chainConfig);
120
+ this.addChainConfig(chainConfig);
121
+ }
122
+ async switchChain(params, init = false) {
123
+ var _this$injectedProvide2;
124
+ super.checkSwitchChainRequirements(params, init);
125
+ await ((_this$injectedProvide2 = this.injectedProvider) === null || _this$injectedProvide2 === void 0 ? void 0 : _this$injectedProvide2.switchChain(params));
126
+ this.setAdapterSettings({
127
+ chainConfig: this.getChainConfig(params.chainId)
128
+ });
129
+ }
130
+ async enableMFA() {
131
+ throw new Error("Method not implemented.");
132
+ }
133
+ async manageMFA() {
134
+ throw new Error("Method Not implemented");
135
+ }
136
+ }
137
+
138
+ exports.WalletStandardAdapter = WalletStandardAdapter;