@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,376 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var baseControllers = require('@toruslabs/base-controllers');
6
+ var Client = require('@walletconnect/sign-client');
7
+ var utils$1 = require('@walletconnect/utils');
8
+ var bs58 = require('bs58');
9
+ var deepmerge = require('deepmerge');
10
+ var IChainInterface = require('../../base/chain/IChainInterface.js');
11
+ var index$1 = require('../../base/errors/index.js');
12
+ var loglevel = require('../../base/loglevel.js');
13
+ var index = require('../../base/wallet/index.js');
14
+ var config = require('./config.js');
15
+ var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
16
+ var baseAdapter = require('../../base/adapter/baseAdapter.js');
17
+ var constants = require('../../base/adapter/constants.js');
18
+ var utils = require('../../base/adapter/utils.js');
19
+
20
+ class WalletConnectV2Adapter extends baseAdapter.BaseAdapter {
21
+ constructor(options = {}) {
22
+ super(options);
23
+ _defineProperty(this, "name", index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
24
+ _defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.MULTICHAIN);
25
+ _defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.OTHER);
26
+ _defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
27
+ _defineProperty(this, "adapterOptions", {});
28
+ _defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
29
+ _defineProperty(this, "adapterData", {
30
+ uri: ""
31
+ });
32
+ _defineProperty(this, "connector", null);
33
+ _defineProperty(this, "activeSession", null);
34
+ _defineProperty(this, "wcProvider", null);
35
+ this.adapterOptions = _objectSpread({}, options);
36
+ this.setAdapterSettings(options);
37
+ }
38
+ get connected() {
39
+ return !!this.activeSession;
40
+ }
41
+ get provider() {
42
+ if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.wcProvider) {
43
+ return this.wcProvider;
44
+ }
45
+ return null;
46
+ }
47
+ set provider(_) {
48
+ throw new Error("Not implemented");
49
+ }
50
+ async init(options) {
51
+ var _this$adapterOptions$, _this$chainConfig, _this$chainConfig2;
52
+ super.checkInitializationRequirements();
53
+ const projectId = (_this$adapterOptions$ = this.adapterOptions.adapterSettings) === null || _this$adapterOptions$ === void 0 || (_this$adapterOptions$ = _this$adapterOptions$.walletConnectInitOptions) === null || _this$adapterOptions$ === void 0 ? void 0 : _this$adapterOptions$.projectId;
54
+ if (!projectId) {
55
+ throw index$1.WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 adapter");
56
+ }
57
+ const wc2Settings = await config.getWalletConnectV2Settings((_this$chainConfig = this.chainConfig) === null || _this$chainConfig === void 0 ? void 0 : _this$chainConfig.chainNamespace, [(_this$chainConfig2 = this.chainConfig) === null || _this$chainConfig2 === void 0 ? void 0 : _this$chainConfig2.chainId], projectId);
58
+ if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) {
59
+ this.adapterOptions.loginSettings = wc2Settings.loginSettings;
60
+ }
61
+ this.adapterOptions.adapterSettings = deepmerge(wc2Settings.adapterSettings || {}, this.adapterOptions.adapterSettings || {});
62
+ const {
63
+ adapterSettings
64
+ } = this.adapterOptions;
65
+ this.connector = await Client.init(adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.walletConnectInitOptions);
66
+ this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
67
+ config: {
68
+ chainConfig: this.chainConfig
69
+ },
70
+ connector: this.connector
71
+ });
72
+ this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
73
+ this.status = constants.ADAPTER_STATUS.READY;
74
+ loglevel.log.debug("initializing wallet connect v2 adapter");
75
+ if (options.autoConnect) {
76
+ await this.checkForPersistedSession();
77
+ if (this.connected) {
78
+ this.rehydrated = true;
79
+ try {
80
+ await this.onConnectHandler();
81
+ } catch (error) {
82
+ loglevel.log.error("wallet auto connect", error);
83
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
84
+ }
85
+ } else {
86
+ this.status = constants.ADAPTER_STATUS.NOT_READY;
87
+ this.emit(constants.ADAPTER_EVENTS.CACHE_CLEAR);
88
+ }
89
+ }
90
+ }
91
+ async connect() {
92
+ super.checkConnectionRequirements();
93
+ if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
94
+ try {
95
+ // if already connected
96
+ if (this.connected) {
97
+ await this.onConnectHandler();
98
+ return this.provider;
99
+ }
100
+ if (this.status !== constants.ADAPTER_STATUS.CONNECTING) {
101
+ await this.createNewSession();
102
+ }
103
+ return this.provider;
104
+ } catch (error) {
105
+ loglevel.log.error("Wallet connect v2 adapter error while connecting", error);
106
+ // ready again to be connected
107
+ this.status = constants.ADAPTER_STATUS.READY;
108
+ this.rehydrated = true;
109
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
110
+ const finalError = error instanceof index$1.Web3AuthError ? error : index$1.WalletLoginError.connectionError(`Failed to login with wallet connect: ${(error === null || error === void 0 ? void 0 : error.message) || ""}`, error);
111
+ throw finalError;
112
+ }
113
+ }
114
+
115
+ // should be called only before initialization.
116
+ setAdapterSettings(adapterSettings) {
117
+ var _this$adapterOptions$2, _this$adapterOptions, _this$adapterOptions$3, _this$adapterOptions2, _this$adapterOptions$4;
118
+ super.setAdapterSettings(adapterSettings);
119
+ const {
120
+ qrcodeModal,
121
+ walletConnectInitOptions
122
+ } = (adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.adapterSettings) || {};
123
+ this.adapterOptions = _objectSpread(_objectSpread({}, this.adapterOptions), {}, {
124
+ adapterSettings: (_this$adapterOptions$2 = (_this$adapterOptions = this.adapterOptions) === null || _this$adapterOptions === void 0 ? void 0 : _this$adapterOptions.adapterSettings) !== null && _this$adapterOptions$2 !== void 0 ? _this$adapterOptions$2 : {},
125
+ loginSettings: (_this$adapterOptions$3 = (_this$adapterOptions2 = this.adapterOptions) === null || _this$adapterOptions2 === void 0 ? void 0 : _this$adapterOptions2.loginSettings) !== null && _this$adapterOptions$3 !== void 0 ? _this$adapterOptions$3 : {}
126
+ });
127
+ if (qrcodeModal) this.adapterOptions.adapterSettings.qrcodeModal = qrcodeModal;
128
+ if (walletConnectInitOptions) this.adapterOptions.adapterSettings.walletConnectInitOptions = _objectSpread(_objectSpread({}, (_this$adapterOptions$4 = this.adapterOptions.adapterSettings.walletConnectInitOptions) !== null && _this$adapterOptions$4 !== void 0 ? _this$adapterOptions$4 : {}), walletConnectInitOptions);
129
+ const {
130
+ loginSettings
131
+ } = adapterSettings;
132
+ if (loginSettings) this.adapterOptions.loginSettings = _objectSpread(_objectSpread({}, this.adapterOptions.loginSettings || {}), loginSettings);
133
+ }
134
+ async addChain(chainConfig, init = false) {
135
+ var _this$wcProvider;
136
+ super.checkAddChainRequirements(chainConfig, init);
137
+ await ((_this$wcProvider = this.wcProvider) === null || _this$wcProvider === void 0 ? void 0 : _this$wcProvider.addChain(chainConfig));
138
+ this.addChainConfig(chainConfig);
139
+ }
140
+ async switchChain(params, init = false) {
141
+ var _this$wcProvider2;
142
+ super.checkSwitchChainRequirements(params, init);
143
+ await ((_this$wcProvider2 = this.wcProvider) === null || _this$wcProvider2 === void 0 ? void 0 : _this$wcProvider2.switchChain({
144
+ chainId: params.chainId
145
+ }));
146
+ this.setAdapterSettings({
147
+ chainConfig: this.getChainConfig(params.chainId)
148
+ });
149
+ }
150
+ async getUserInfo() {
151
+ if (!this.connected) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
152
+ return {};
153
+ }
154
+ async disconnect(options = {
155
+ cleanup: false,
156
+ sessionRemovedByWallet: false
157
+ }) {
158
+ var _this$activeSession, _this$activeSession2;
159
+ const {
160
+ cleanup
161
+ } = options;
162
+ if (!this.connector || !this.connected || !((_this$activeSession = this.activeSession) !== null && _this$activeSession !== void 0 && _this$activeSession.topic)) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
163
+ if (!options.sessionRemovedByWallet) await this.connector.disconnect({
164
+ topic: (_this$activeSession2 = this.activeSession) === null || _this$activeSession2 === void 0 ? void 0 : _this$activeSession2.topic,
165
+ reason: utils$1.getSdkError("USER_DISCONNECTED")
166
+ });
167
+ this.rehydrated = false;
168
+ if (cleanup) {
169
+ this.connector = null;
170
+ this.status = constants.ADAPTER_STATUS.NOT_READY;
171
+ this.wcProvider = null;
172
+ } else {
173
+ // ready to connect again
174
+ this.status = constants.ADAPTER_STATUS.READY;
175
+ }
176
+ this.activeSession = null;
177
+ this.emit(constants.ADAPTER_EVENTS.DISCONNECTED);
178
+ }
179
+ async authenticateUser() {
180
+ if (!this.provider || this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError();
181
+ const {
182
+ chainNamespace,
183
+ chainId
184
+ } = this.chainConfig;
185
+ const accounts = await this.provider.request({
186
+ method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "eth_accounts" : "getAccounts"
187
+ });
188
+ if (accounts && accounts.length > 0) {
189
+ const existingToken = utils.getSavedToken(accounts[0], this.name);
190
+ if (existingToken) {
191
+ const isExpired = utils.checkIfTokenIsExpired(existingToken);
192
+ if (!isExpired) {
193
+ return {
194
+ idToken: existingToken
195
+ };
196
+ }
197
+ }
198
+ const payload = {
199
+ domain: window.location.origin,
200
+ uri: window.location.href,
201
+ address: accounts[0],
202
+ chainId: parseInt(chainId, 16),
203
+ version: "1",
204
+ nonce: Math.random().toString(36).slice(2),
205
+ issuedAt: new Date().toISOString()
206
+ };
207
+ const challenge = await baseControllers.signChallenge(payload, chainNamespace);
208
+ const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
209
+ const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
210
+ utils.saveToken(accounts[0], this.name, idToken);
211
+ return {
212
+ idToken
213
+ };
214
+ }
215
+ throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
216
+ }
217
+ async enableMFA() {
218
+ throw new Error("Method Not implemented");
219
+ }
220
+ async manageMFA() {
221
+ throw new Error("Method Not implemented");
222
+ }
223
+ cleanupPendingPairings() {
224
+ if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
225
+ const inactivePairings = this.connector.pairing.getAll({
226
+ active: false
227
+ });
228
+ if (!utils$1.isValidArray(inactivePairings)) return;
229
+ inactivePairings.forEach(pairing => {
230
+ if (this.connector) {
231
+ this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
232
+ }
233
+ });
234
+ }
235
+ async checkForPersistedSession() {
236
+ if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
237
+ if (this.connector.session.length) {
238
+ const lastKeyIndex = this.connector.session.keys.length - 1;
239
+ this.activeSession = this.connector.session.get(this.connector.session.keys[lastKeyIndex]);
240
+ }
241
+ return this.activeSession;
242
+ }
243
+ async createNewSession(opts = {
244
+ forceNewSession: false
245
+ }) {
246
+ try {
247
+ var _this$activeSession3, _this$adapterOptions3;
248
+ if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
249
+ if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) throw index$1.WalletInitializationError.notReady("login settings are not set yet");
250
+ this.status = constants.ADAPTER_STATUS.CONNECTING;
251
+ this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
252
+ adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2
253
+ });
254
+ if (opts.forceNewSession && (_this$activeSession3 = this.activeSession) !== null && _this$activeSession3 !== void 0 && _this$activeSession3.topic) {
255
+ var _this$activeSession4;
256
+ await this.connector.disconnect({
257
+ topic: (_this$activeSession4 = this.activeSession) === null || _this$activeSession4 === void 0 ? void 0 : _this$activeSession4.topic,
258
+ reason: utils$1.getSdkError("USER_DISCONNECTED")
259
+ });
260
+ }
261
+ const {
262
+ uri,
263
+ approval
264
+ } = await this.connector.connect(this.adapterOptions.loginSettings);
265
+ const qrcodeModal = (_this$adapterOptions3 = this.adapterOptions) === null || _this$adapterOptions3 === void 0 || (_this$adapterOptions3 = _this$adapterOptions3.adapterSettings) === null || _this$adapterOptions3 === void 0 ? void 0 : _this$adapterOptions3.qrcodeModal;
266
+ // Open QRCode modal if a URI was returned (i.e. we're not connecting with an existing pairing).
267
+ if (uri) {
268
+ if (qrcodeModal) {
269
+ try {
270
+ await qrcodeModal.openModal({
271
+ uri
272
+ });
273
+ loglevel.log.debug("EVENT", "QR Code Modal closed");
274
+ this.status = constants.ADAPTER_STATUS.READY;
275
+ this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
276
+ } catch (error) {
277
+ loglevel.log.error("unable to open qr code modal");
278
+ }
279
+ } else {
280
+ this.updateAdapterData({
281
+ uri
282
+ });
283
+ }
284
+ }
285
+ loglevel.log.info("awaiting session approval from wallet");
286
+
287
+ // Await session approval from the wallet.
288
+ const session = await approval();
289
+ this.activeSession = session;
290
+ // Handle the returned session (e.g. update UI to "connected" state).
291
+ await this.onConnectHandler();
292
+ if (qrcodeModal) {
293
+ qrcodeModal.closeModal();
294
+ }
295
+ } catch (error) {
296
+ var _message;
297
+ if ((_message = error.message) !== null && _message !== void 0 && _message.toLowerCase().includes("proposal expired")) {
298
+ // Retry if adapter status is still connecting
299
+ loglevel.log.info("current adapter status: ", this.status);
300
+ if (this.status === constants.ADAPTER_STATUS.CONNECTING) {
301
+ loglevel.log.info("retrying to create new wallet connect session since proposal expired");
302
+ return this.createNewSession({
303
+ forceNewSession: true
304
+ });
305
+ }
306
+ if (this.status === constants.ADAPTER_STATUS.READY) {
307
+ loglevel.log.info("ignoring proposal expired error since some other adapter is connected");
308
+ return;
309
+ }
310
+ }
311
+ loglevel.log.error("error while creating new wallet connect session", error);
312
+ this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
313
+ throw error;
314
+ }
315
+ }
316
+ async onConnectHandler() {
317
+ var _this$adapterOptions$5;
318
+ if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
319
+ if (!this.chainConfig) throw index$1.WalletInitializationError.invalidParams("Chain config is not set");
320
+ this.subscribeEvents();
321
+ if ((_this$adapterOptions$5 = this.adapterOptions.adapterSettings) !== null && _this$adapterOptions$5 !== void 0 && _this$adapterOptions$5.qrcodeModal) {
322
+ this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
323
+ config: {
324
+ chainConfig: this.chainConfig,
325
+ skipLookupNetwork: true
326
+ },
327
+ connector: this.connector
328
+ });
329
+ }
330
+ await this.wcProvider.setupProvider(this.connector);
331
+ this.cleanupPendingPairings();
332
+ this.status = constants.ADAPTER_STATUS.CONNECTED;
333
+ this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
334
+ adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2,
335
+ reconnected: this.rehydrated,
336
+ provider: this.provider
337
+ });
338
+ }
339
+ subscribeEvents() {
340
+ if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
341
+ this.connector.events.on("session_update", ({
342
+ topic,
343
+ params
344
+ }) => {
345
+ if (!this.connector) return;
346
+ const {
347
+ namespaces
348
+ } = params;
349
+ const _session = this.connector.session.get(topic);
350
+ // Overwrite the `namespaces` of the existing session with the incoming one.
351
+ const updatedSession = _objectSpread(_objectSpread({}, _session), {}, {
352
+ namespaces
353
+ });
354
+ // Integrate the updated session state into your dapp state.
355
+ this.activeSession = updatedSession;
356
+ });
357
+ this.connector.events.on("session_delete", () => {
358
+ // Session was deleted -> reset the dapp state, clean up from user session, etc.
359
+ this.disconnect({
360
+ sessionRemovedByWallet: true
361
+ });
362
+ });
363
+ }
364
+ async _getSignedMessage(challenge, accounts, chainNamespace) {
365
+ const signedMessage = await this.provider.request({
366
+ method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "personal_sign" : "signMessage",
367
+ params: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
368
+ message: Buffer.from(challenge)
369
+ }
370
+ });
371
+ if (chainNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA) return bs58.encode(signedMessage);
372
+ return signedMessage;
373
+ }
374
+ }
375
+
376
+ exports.WalletConnectV2Adapter = WalletConnectV2Adapter;
@@ -0,0 +1,117 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var auth = require('@web3auth/auth');
6
+ var config = require('../chain/config.js');
7
+ var IChainInterface = require('../chain/IChainInterface.js');
8
+ var index = require('../errors/index.js');
9
+ var index$1 = require('../wallet/index.js');
10
+ var constants = require('./constants.js');
11
+
12
+ class BaseAdapter extends auth.SafeEventEmitter {
13
+ constructor(options = {}) {
14
+ super();
15
+ _defineProperty(this, "adapterData", {});
16
+ _defineProperty(this, "sessionTime", 86400);
17
+ _defineProperty(this, "clientId", void 0);
18
+ _defineProperty(this, "web3AuthNetwork", auth.WEB3AUTH_NETWORK.MAINNET);
19
+ _defineProperty(this, "useCoreKitKey", undefined);
20
+ _defineProperty(this, "rehydrated", false);
21
+ // should be added in constructor or from setAdapterSettings function
22
+ // before calling init function.
23
+ _defineProperty(this, "chainConfig", null);
24
+ _defineProperty(this, "knownChainConfigs", {});
25
+ _defineProperty(this, "adapterNamespace", void 0);
26
+ _defineProperty(this, "currentChainNamespace", void 0);
27
+ _defineProperty(this, "type", void 0);
28
+ _defineProperty(this, "name", void 0);
29
+ _defineProperty(this, "status", void 0);
30
+ this.setAdapterSettings(options);
31
+ }
32
+ get chainConfigProxy() {
33
+ return this.chainConfig ? _objectSpread({}, this.chainConfig) : null;
34
+ }
35
+ get connnected() {
36
+ return this.status === constants.ADAPTER_STATUS.CONNECTED;
37
+ }
38
+ setAdapterSettings(options) {
39
+ if (this.status === constants.ADAPTER_STATUS.READY) return;
40
+ if (options !== null && options !== void 0 && options.sessionTime) {
41
+ this.sessionTime = options.sessionTime;
42
+ }
43
+ if (options !== null && options !== void 0 && options.clientId) {
44
+ this.clientId = options.clientId;
45
+ }
46
+ if (options !== null && options !== void 0 && options.web3AuthNetwork) {
47
+ this.web3AuthNetwork = options.web3AuthNetwork;
48
+ }
49
+ if ((options === null || options === void 0 ? void 0 : options.useCoreKitKey) !== undefined) {
50
+ this.useCoreKitKey = options.useCoreKitKey;
51
+ }
52
+ const customChainConfig = options.chainConfig;
53
+ if (customChainConfig) {
54
+ if (!customChainConfig.chainNamespace) throw index.WalletInitializationError.notReady("ChainNamespace is required while setting chainConfig");
55
+ this.currentChainNamespace = customChainConfig.chainNamespace;
56
+ // chainId is optional in this function.
57
+ // we go with mainnet chainId by default.
58
+ const defaultChainConfig = config.getChainConfig(customChainConfig.chainNamespace, customChainConfig.chainId);
59
+ // NOTE: It is being forced casted to CustomChainConfig to handle OTHER Chainnamespace
60
+ // where chainConfig is not required.
61
+ const finalChainConfig = _objectSpread(_objectSpread({}, defaultChainConfig || {}), customChainConfig);
62
+ this.chainConfig = finalChainConfig;
63
+ this.addChainConfig(finalChainConfig);
64
+ }
65
+ }
66
+ checkConnectionRequirements() {
67
+ // we reconnect without killing existing wallet connect session on calling connect again.
68
+ if (this.name === index$1.WALLET_ADAPTERS.WALLET_CONNECT_V2 && this.status === constants.ADAPTER_STATUS.CONNECTING) return;
69
+ if (this.status === constants.ADAPTER_STATUS.CONNECTING) throw index.WalletInitializationError.notReady("Already connecting");
70
+ if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.connectionError("Already connected");
71
+ if (this.status !== constants.ADAPTER_STATUS.READY) throw index.WalletLoginError.connectionError("Wallet adapter is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
72
+ }
73
+ checkInitializationRequirements() {
74
+ if (!this.clientId) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid clientId in constructor");
75
+ if (!this.chainConfig) throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
76
+ if (!this.chainConfig.rpcTarget && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
77
+ throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
78
+ }
79
+ if (!this.chainConfig.chainId && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
80
+ throw index.WalletInitializationError.invalidParams("chainID is required in chainConfig");
81
+ }
82
+ if (this.status === constants.ADAPTER_STATUS.NOT_READY) return;
83
+ if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletInitializationError.notReady("Already connected");
84
+ if (this.status === constants.ADAPTER_STATUS.READY) throw index.WalletInitializationError.notReady("Adapter is already initialized");
85
+ }
86
+ checkDisconnectionRequirements() {
87
+ if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.disconnectionError("Not connected with wallet");
88
+ }
89
+ checkAddChainRequirements(chainConfig, init = false) {
90
+ if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
91
+ if (this.currentChainNamespace !== chainConfig.chainNamespace) {
92
+ throw index.WalletOperationsError.chainNamespaceNotAllowed("This adapter doesn't support this chainNamespace");
93
+ }
94
+ }
95
+ checkSwitchChainRequirements({
96
+ chainId
97
+ }, init = false) {
98
+ if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
99
+ if (!this.knownChainConfigs[chainId]) throw index.WalletLoginError.chainConfigNotAdded("Invalid chainId");
100
+ }
101
+ updateAdapterData(data) {
102
+ this.adapterData = data;
103
+ this.emit(constants.ADAPTER_EVENTS.ADAPTER_DATA_UPDATED, {
104
+ adapterName: this.name,
105
+ data
106
+ });
107
+ }
108
+ addChainConfig(chainConfig) {
109
+ const currentConfig = this.knownChainConfigs[chainConfig.chainId];
110
+ this.knownChainConfigs[chainConfig.chainId] = _objectSpread(_objectSpread({}, currentConfig || {}), chainConfig);
111
+ }
112
+ getChainConfig(chainId) {
113
+ return this.knownChainConfigs[chainId] || null;
114
+ }
115
+ }
116
+
117
+ exports.BaseAdapter = BaseAdapter;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+
5
+ const ADAPTER_STATUS = {
6
+ NOT_READY: "not_ready",
7
+ READY: "ready",
8
+ CONNECTING: "connecting",
9
+ CONNECTED: "connected",
10
+ DISCONNECTED: "disconnected",
11
+ ERRORED: "errored"
12
+ };
13
+ const ADAPTER_EVENTS = _objectSpread(_objectSpread({}, ADAPTER_STATUS), {}, {
14
+ ADAPTER_DATA_UPDATED: "adapter_data_updated",
15
+ CACHE_CLEAR: "cache_clear"
16
+ });
17
+ const ADAPTER_CATEGORY = {
18
+ EXTERNAL: "external",
19
+ IN_APP: "in_app"
20
+ };
21
+
22
+ exports.ADAPTER_CATEGORY = ADAPTER_CATEGORY;
23
+ exports.ADAPTER_EVENTS = ADAPTER_EVENTS;
24
+ exports.ADAPTER_STATUS = ADAPTER_STATUS;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var jwtDecode = require('jwt-decode');
4
+
5
+ function storageAvailable(type) {
6
+ let storageExists = false;
7
+ let storageLength = 0;
8
+ let storage;
9
+ try {
10
+ storage = window[type];
11
+ storageExists = true;
12
+ storageLength = storage.length;
13
+ const x = "__storage_test__";
14
+ storage.setItem(x, x);
15
+ storage.removeItem(x);
16
+ return true;
17
+ } catch (err) {
18
+ const error = err;
19
+ return !!(error && (
20
+ // everything except Firefox
21
+ error.code === 22 ||
22
+ // Firefox
23
+ error.code === 1014 ||
24
+ // test name field too, because code might not be present
25
+ // everything except Firefox
26
+ error.name === "QuotaExceededError" ||
27
+ // Firefox
28
+ error.name === "NS_ERROR_DOM_QUOTA_REACHED") &&
29
+ // acknowledge QuotaExceededError only if there's something already stored
30
+ storageExists && storageLength !== 0);
31
+ }
32
+ }
33
+ const checkIfTokenIsExpired = token => {
34
+ const decoded = jwtDecode.jwtDecode(token);
35
+ if (!decoded.exp) {
36
+ return true;
37
+ }
38
+ if (decoded.exp < Math.floor(Date.now() / 1000)) {
39
+ return true;
40
+ }
41
+ return false;
42
+ };
43
+ const getSavedToken = (userAddress, issuer) => {
44
+ if (storageAvailable("localStorage")) {
45
+ return localStorage.getItem(`${userAddress.toLowerCase()}_${issuer}`);
46
+ }
47
+ return null;
48
+ };
49
+ const saveToken = (userAddress, issuer, token) => {
50
+ if (storageAvailable("localStorage")) {
51
+ return localStorage.setItem(`${userAddress.toLowerCase()}_${issuer}`, token);
52
+ }
53
+ return null;
54
+ };
55
+ const clearToken = (userAddress, issuer) => {
56
+ if (storageAvailable("localStorage")) {
57
+ return localStorage.removeItem(`${userAddress.toLowerCase()}_${issuer}`);
58
+ }
59
+ return null;
60
+ };
61
+
62
+ exports.checkIfTokenIsExpired = checkIfTokenIsExpired;
63
+ exports.clearToken = clearToken;
64
+ exports.getSavedToken = getSavedToken;
65
+ exports.saveToken = saveToken;
66
+ exports.storageAvailable = storageAvailable;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ const CHAIN_NAMESPACES = {
4
+ EIP155: "eip155",
5
+ SOLANA: "solana",
6
+ CASPER: "casper",
7
+ XRPL: "xrpl",
8
+ OTHER: "other"
9
+ };
10
+ // eip155 for all evm chains
11
+
12
+ const ADAPTER_NAMESPACES = {
13
+ EIP155: "eip155",
14
+ SOLANA: "solana",
15
+ CASPER: "casper",
16
+ XRPL: "xrpl",
17
+ MULTICHAIN: "multichain"
18
+ };
19
+ // eip155 for all evm chains
20
+
21
+ exports.ADAPTER_NAMESPACES = ADAPTER_NAMESPACES;
22
+ exports.CHAIN_NAMESPACES = CHAIN_NAMESPACES;