@web3auth/no-modal 10.15.0 → 11.0.0-beta.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 (321) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +104 -2
  2. package/dist/lib.cjs/base/connector/connectorStatus.js +2 -0
  3. package/dist/lib.cjs/base/connector/constants.js +4 -2
  4. package/dist/lib.cjs/base/connector/utils.js +0 -21
  5. package/dist/lib.cjs/base/constants.js +4 -0
  6. package/dist/lib.cjs/base/cookie.js +6 -20
  7. package/dist/lib.cjs/base/errors/index.js +36 -12
  8. package/dist/lib.cjs/base/utils.js +10 -11
  9. package/dist/lib.cjs/base/wallet/index.js +7 -0
  10. package/dist/lib.cjs/base/wallet/solana.js +83 -0
  11. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +145 -49
  12. package/dist/lib.cjs/connectors/auth-connector/authSolanaWallet.js +187 -0
  13. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +18 -40
  14. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +30 -56
  15. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +19 -14
  16. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +18 -13
  17. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +24 -36
  18. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +321 -133
  19. package/dist/lib.cjs/connectors/utils.js +8 -2
  20. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +12 -38
  21. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +4 -3
  22. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +73 -63
  23. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +24 -51
  24. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +144 -0
  25. package/dist/lib.cjs/index.js +36 -71
  26. package/dist/lib.cjs/noModal.js +223 -133
  27. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +23 -39
  28. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +12 -10
  29. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +8 -6
  30. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +47 -44
  31. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +1 -3
  32. package/dist/lib.cjs/providers/base-provider/baseProvider.js +4 -2
  33. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +8 -11
  34. package/dist/lib.cjs/providers/base-provider/index.js +0 -1
  35. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +18 -19
  36. package/dist/lib.cjs/providers/base-provider/utils.js +0 -3
  37. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +22 -43
  38. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +18 -19
  39. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMiddleware.js +200 -0
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +9 -18
  41. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  42. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +19 -26
  43. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +46 -37
  44. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +2 -69
  45. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +6 -161
  46. package/dist/lib.cjs/react/context/useWalletServicesContextValue.js +76 -0
  47. package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +202 -0
  48. package/dist/lib.cjs/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  49. package/dist/lib.cjs/react/hooks/useCheckout.js +4 -2
  50. package/dist/lib.cjs/react/hooks/useFunding.js +4 -2
  51. package/dist/lib.cjs/react/hooks/useReceive.js +4 -2
  52. package/dist/lib.cjs/react/hooks/useSwap.js +4 -2
  53. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +4 -2
  54. package/dist/lib.cjs/react/hooks/useWalletServicesPlugin.js +3 -10
  55. package/dist/lib.cjs/react/hooks/useWalletUI.js +4 -2
  56. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +1 -22
  57. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +4 -2
  58. package/dist/lib.cjs/react/index.js +10 -2
  59. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +22 -4
  60. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +20 -2
  61. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +22 -3
  62. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +34 -51
  63. package/dist/lib.cjs/react/solana/index.js +2 -0
  64. package/dist/lib.cjs/react/solana/provider.js +167 -0
  65. package/dist/lib.cjs/react/wagmi/provider.js +10 -8
  66. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +21 -5
  67. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +1 -0
  68. package/dist/lib.cjs/types/base/connector/constants.d.ts +3 -0
  69. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +23 -12
  70. package/dist/lib.cjs/types/base/connector/utils.d.ts +0 -3
  71. package/dist/lib.cjs/types/base/constants.d.ts +1 -0
  72. package/dist/lib.cjs/types/base/cookie.d.ts +0 -7
  73. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +24 -12
  74. package/dist/lib.cjs/types/base/errors/index.d.ts +2 -3
  75. package/dist/lib.cjs/types/base/hooks/index.d.ts +2 -2
  76. package/dist/lib.cjs/types/base/interfaces.d.ts +5 -1
  77. package/dist/lib.cjs/types/base/utils.d.ts +2 -1
  78. package/dist/lib.cjs/types/base/wallet/index.d.ts +3 -0
  79. package/dist/lib.cjs/types/base/wallet/solana.d.ts +19 -0
  80. package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +11 -6
  81. package/dist/lib.cjs/types/connectors/auth-connector/authSolanaWallet.d.ts +35 -0
  82. package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
  83. package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
  84. package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +2 -2
  85. package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +10 -7
  86. package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +35 -3
  87. package/dist/lib.cjs/types/connectors/utils.d.ts +2 -0
  88. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +0 -1
  89. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +1 -5
  90. package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/wcSolanaWallet.d.ts +26 -0
  91. package/dist/lib.cjs/types/noModal.d.ts +12 -8
  92. package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +1 -4
  93. package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  94. package/dist/lib.cjs/types/providers/base-provider/jrpcClient.d.ts +2 -5
  95. package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +0 -1
  96. package/dist/lib.cjs/types/providers/ethereum-provider/index.d.ts +0 -1
  97. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -4
  98. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/index.d.ts +1 -1
  99. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +2 -5
  100. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMiddleware.d.ts +3 -0
  101. package/dist/lib.cjs/types/providers/index.d.ts +0 -1
  102. package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +0 -1
  103. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +3 -7
  104. package/dist/lib.cjs/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +5 -12
  105. package/dist/lib.cjs/types/react/context/index.d.ts +4 -0
  106. package/dist/lib.cjs/types/react/context/useWalletServicesContextValue.d.ts +12 -0
  107. package/dist/lib.cjs/types/react/context/useWeb3AuthInnerContextValue.d.ts +26 -0
  108. package/dist/lib.cjs/types/react/hooks/index.d.ts +1 -1
  109. package/dist/lib.cjs/types/react/hooks/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +4 -4
  110. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  111. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -2
  112. package/dist/lib.cjs/types/react/index.d.ts +1 -0
  113. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +7 -2
  114. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +8 -3
  115. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +17 -4
  116. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  117. package/dist/lib.cjs/types/react/solana/provider.d.ts +26 -0
  118. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -1
  119. package/dist/lib.cjs/types/vue/composables/{useIdentityToken.d.ts → useAuthTokenInfo.d.ts} +3 -3
  120. package/dist/lib.cjs/types/vue/composables/useInjectedWeb3AuthInnerContext.d.ts +1 -0
  121. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  122. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -2
  123. package/dist/lib.cjs/types/vue/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/interfaces.d.ts +2 -2
  125. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +7 -2
  127. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +8 -3
  128. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +7 -0
  129. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +17 -4
  130. package/dist/lib.cjs/types/vue/solana/constants.d.ts +3 -0
  131. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  132. package/dist/lib.cjs/types/vue/solana/provider.d.ts +8 -0
  133. package/dist/lib.cjs/types/vue/useWalletServicesInnerContextValue.d.ts +13 -0
  134. package/dist/lib.cjs/types/vue/useWeb3AuthInnerContextValue.d.ts +26 -0
  135. package/dist/lib.cjs/types/x402/index.d.ts +43 -0
  136. package/dist/lib.cjs/types/x402/interfaces.d.ts +11 -0
  137. package/dist/lib.cjs/types/x402/react.d.ts +17 -0
  138. package/dist/lib.cjs/types/x402/vue.d.ts +18 -0
  139. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +9 -54
  140. package/dist/lib.cjs/vue/Web3AuthProvider.js +16 -177
  141. package/dist/lib.cjs/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +10 -8
  142. package/dist/lib.cjs/vue/composables/useCheckout.js +4 -2
  143. package/dist/lib.cjs/vue/composables/useEnableMFA.js +4 -2
  144. package/dist/lib.cjs/vue/composables/useFunding.js +4 -2
  145. package/dist/lib.cjs/vue/composables/useInjectedWeb3AuthInnerContext.js +29 -0
  146. package/dist/lib.cjs/vue/composables/useManageMFA.js +4 -2
  147. package/dist/lib.cjs/vue/composables/useReceive.js +4 -2
  148. package/dist/lib.cjs/vue/composables/useSwap.js +4 -2
  149. package/dist/lib.cjs/vue/composables/useSwitchChain.js +4 -2
  150. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +4 -2
  151. package/dist/lib.cjs/vue/composables/useWalletUI.js +4 -2
  152. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +1 -26
  153. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -2
  154. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +4 -2
  155. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +2 -20
  156. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +4 -2
  157. package/dist/lib.cjs/vue/index.js +8 -2
  158. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +6 -3
  159. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +6 -3
  160. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +6 -3
  161. package/dist/lib.cjs/vue/solana/composables/useSolanaClient.js +14 -0
  162. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +60 -41
  163. package/dist/lib.cjs/vue/solana/constants.js +5 -0
  164. package/dist/lib.cjs/vue/solana/index.js +6 -0
  165. package/dist/lib.cjs/vue/solana/provider.js +107 -0
  166. package/dist/lib.cjs/vue/useWalletServicesInnerContextValue.js +75 -0
  167. package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +217 -0
  168. package/dist/lib.cjs/vue/wagmi/provider.js +12 -8
  169. package/dist/lib.cjs/x402/index.js +175 -0
  170. package/dist/lib.cjs/x402/interfaces.js +5 -0
  171. package/dist/lib.cjs/x402/react.js +64 -0
  172. package/dist/lib.cjs/x402/vue.js +58 -0
  173. package/dist/lib.esm/base/connector/baseConnector.js +104 -2
  174. package/dist/lib.esm/base/connector/connectorStatus.js +2 -1
  175. package/dist/lib.esm/base/connector/constants.js +4 -2
  176. package/dist/lib.esm/base/connector/utils.js +1 -19
  177. package/dist/lib.esm/base/constants.js +4 -1
  178. package/dist/lib.esm/base/cookie.js +7 -20
  179. package/dist/lib.esm/base/errors/index.js +36 -12
  180. package/dist/lib.esm/base/utils.js +10 -7
  181. package/dist/lib.esm/base/wallet/index.js +2 -1
  182. package/dist/lib.esm/base/wallet/solana.js +81 -0
  183. package/dist/lib.esm/connectors/auth-connector/authConnector.js +143 -50
  184. package/dist/lib.esm/connectors/auth-connector/authSolanaWallet.js +175 -0
  185. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +17 -39
  186. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +29 -55
  187. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +14 -11
  188. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +14 -11
  189. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +19 -31
  190. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +335 -132
  191. package/dist/lib.esm/connectors/utils.js +9 -4
  192. package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +11 -30
  193. package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +1 -1
  194. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +70 -61
  195. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +21 -49
  196. package/dist/lib.esm/connectors/wallet-connect-v2-connector/wcSolanaWallet.js +130 -0
  197. package/dist/lib.esm/index.js +9 -17
  198. package/dist/lib.esm/noModal.js +225 -133
  199. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +18 -37
  200. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +9 -9
  201. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +3 -3
  202. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +48 -45
  203. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +2 -4
  204. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +9 -12
  205. package/dist/lib.esm/providers/base-provider/index.js +1 -1
  206. package/dist/lib.esm/providers/base-provider/jrpcClient.js +20 -19
  207. package/dist/lib.esm/providers/base-provider/utils.js +1 -3
  208. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +23 -44
  209. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +20 -19
  210. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMiddleware.js +201 -0
  211. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +6 -17
  212. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +2 -1
  213. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +21 -25
  214. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +48 -38
  215. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -57
  216. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +7 -152
  217. package/dist/lib.esm/react/context/useWalletServicesContextValue.js +59 -0
  218. package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +188 -0
  219. package/dist/lib.esm/react/hooks/{useIdentityToken.js → useAuthTokenInfo.js} +6 -7
  220. package/dist/lib.esm/react/hooks/useWalletServicesPlugin.js +3 -10
  221. package/dist/lib.esm/react/hooks/useWeb3Auth.js +1 -22
  222. package/dist/lib.esm/react/index.js +5 -1
  223. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +6 -4
  224. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +4 -2
  225. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +6 -3
  226. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +33 -28
  227. package/dist/lib.esm/react/solana/index.js +1 -0
  228. package/dist/lib.esm/react/solana/provider.js +150 -0
  229. package/dist/lib.esm/react/wagmi/provider.js +7 -7
  230. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -54
  231. package/dist/lib.esm/vue/Web3AuthProvider.js +7 -179
  232. package/dist/lib.esm/vue/composables/{useIdentityToken.js → useAuthTokenInfo.js} +6 -6
  233. package/dist/lib.esm/vue/composables/useInjectedWeb3AuthInnerContext.js +11 -0
  234. package/dist/lib.esm/vue/composables/useWeb3Auth.js +1 -26
  235. package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +2 -6
  236. package/dist/lib.esm/vue/index.js +4 -1
  237. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -1
  238. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +2 -1
  239. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +3 -2
  240. package/dist/lib.esm/vue/solana/composables/useSolanaClient.js +12 -0
  241. package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +53 -35
  242. package/dist/lib.esm/vue/solana/constants.js +3 -0
  243. package/dist/lib.esm/vue/solana/index.js +3 -0
  244. package/dist/lib.esm/vue/solana/provider.js +95 -0
  245. package/dist/lib.esm/vue/useWalletServicesInnerContextValue.js +58 -0
  246. package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +204 -0
  247. package/dist/lib.esm/vue/wagmi/provider.js +9 -7
  248. package/dist/lib.esm/x402/index.js +170 -0
  249. package/dist/lib.esm/x402/interfaces.js +3 -0
  250. package/dist/lib.esm/x402/react.js +59 -0
  251. package/dist/lib.esm/x402/vue.js +54 -0
  252. package/package.json +78 -53
  253. package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +0 -7
  254. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -224
  255. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -177
  256. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -21
  257. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -88
  258. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -27
  259. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -383
  260. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  261. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -93
  262. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +0 -29
  263. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -251
  264. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -65
  265. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -45
  266. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/utils.js +0 -16
  267. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -103
  268. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +0 -47
  269. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -97
  270. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -91
  271. package/dist/lib.cjs/types/connectors/injected-solana-connector/utils.d.ts +0 -3
  272. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  273. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/index.d.ts +0 -1
  274. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +0 -74
  275. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -1
  276. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -12
  277. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -3
  278. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -15
  279. package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -14
  280. package/dist/lib.cjs/types/providers/ethereum-provider/providers/index.d.ts +0 -1
  281. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -16
  282. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -28
  283. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -4
  284. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -46
  285. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -11
  286. package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  287. package/dist/lib.cjs/types/providers/ethereum-provider/providers/utils.d.ts +0 -5
  288. package/dist/lib.cjs/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -3
  289. package/dist/lib.cjs/types/providers/solana-provider/index.d.ts +0 -4
  290. package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +0 -22
  291. package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +0 -1
  292. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +0 -16
  293. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -3
  294. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -2
  295. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -3
  296. package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -9
  297. package/dist/lib.cjs/types/providers/solana-provider/rpc/JrpcClient.d.ts +0 -9
  298. package/dist/lib.cjs/types/providers/solana-provider/rpc/index.d.ts +0 -3
  299. package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +0 -27
  300. package/dist/lib.cjs/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -20
  301. package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +0 -29
  302. package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +0 -1
  303. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +0 -206
  304. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +0 -163
  305. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -20
  306. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -85
  307. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +0 -21
  308. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +0 -378
  309. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +0 -8
  310. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +0 -88
  311. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +0 -24
  312. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -258
  313. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +0 -47
  314. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +0 -43
  315. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/utils.js +0 -14
  316. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +0 -91
  317. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +0 -42
  318. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +0 -89
  319. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -92
  320. package/dist/noModal.umd.min.js +0 -2
  321. package/dist/noModal.umd.min.js.LICENSE.txt +0 -48
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var constants$1 = require('@toruslabs/constants');
6
+ var httpHelpers = require('@toruslabs/http-helpers');
5
7
  var securePubSub = require('@toruslabs/secure-pub-sub');
6
8
  var auth = require('@web3auth/auth');
7
9
  var wsEmbed = require('@web3auth/ws-embed');
@@ -13,14 +15,15 @@ var baseConnector = require('../../base/connector/baseConnector.js');
13
15
  var connectorStatus = require('../../base/connector/connectorStatus.js');
14
16
  var constants = require('../../base/connector/constants.js');
15
17
  require('jwt-decode');
18
+ require('../../base/constants.js');
16
19
  var index$1 = require('../../base/errors/index.js');
17
20
  require('../../base/plugin/errors.js');
18
21
  require('../../base/plugin/IPlugin.js');
19
- var baseControllers = require('@toruslabs/base-controllers');
20
- require('@toruslabs/constants');
21
- require('@toruslabs/http-helpers');
22
+ var utils = require('../../base/utils.js');
22
23
  var index = require('../../base/wallet/index.js');
23
- var utils = require('../utils.js');
24
+ var utils$1 = require('../utils.js');
25
+ var authSolanaWallet = require('./authSolanaWallet.js');
26
+ var baseControllers = require('@toruslabs/base-controllers');
24
27
 
25
28
  class AuthConnector extends baseConnector.BaseConnector {
26
29
  constructor(params) {
@@ -39,6 +42,7 @@ class AuthConnector extends baseConnector.BaseConnector {
39
42
  _defineProperty(this, "wsEmbedInstance", null);
40
43
  _defineProperty(this, "authConnectionConfig", []);
41
44
  _defineProperty(this, "wsEmbedInstancePromise", null);
45
+ _defineProperty(this, "_solanaWallet", null);
42
46
  this.authOptions = params.connectorSettings;
43
47
  this.loginSettings = params.loginSettings || {
44
48
  authConnection: ""
@@ -60,6 +64,9 @@ class AuthConnector extends baseConnector.BaseConnector {
60
64
  get wsEmbed() {
61
65
  return this.wsEmbedInstance;
62
66
  }
67
+ get solanaWallet() {
68
+ return this._solanaWallet;
69
+ }
63
70
  set provider(_) {
64
71
  throw new Error("Not implemented");
65
72
  }
@@ -92,7 +99,7 @@ class AuthConnector extends baseConnector.BaseConnector {
92
99
  loglevel.log.debug("initializing auth connector init", this.authOptions);
93
100
  // making it async here to initialize provider.
94
101
  const authInstancePromise = this.authInstance.init();
95
- // Use this for xrpl, mpc cases
102
+ // Use this for xrpl cases
96
103
  if (this.coreOptions.privateKeyProvider) {
97
104
  this.privateKeyProvider = this.coreOptions.privateKeyProvider;
98
105
  } else {
@@ -114,6 +121,7 @@ class AuthConnector extends baseConnector.BaseConnector {
114
121
  loginMode: wsEmbed.WS_EMBED_LOGIN_MODE.PLUGIN,
115
122
  chains: wsSupportedChains,
116
123
  chainId,
124
+ buildEnv: this.authOptions.buildEnv,
117
125
  whiteLabel: _objectSpread(_objectSpread({}, this.authOptions.whiteLabel), this.wsSettings.whiteLabel)
118
126
  })).then(() => {
119
127
  this.wsEmbedInstancePromise = null;
@@ -151,7 +159,7 @@ class AuthConnector extends baseConnector.BaseConnector {
151
159
  this.rehydrated = true;
152
160
  await this.connect({
153
161
  chainId: options.chainId,
154
- getIdentityToken: options.getIdentityToken
162
+ getAuthTokenInfo: options.getAuthTokenInfo
155
163
  });
156
164
  } else if (!sessionId && options.autoConnect) {
157
165
  // if here, this means that the connector is cached but the sessionId is not available.
@@ -171,7 +179,11 @@ class AuthConnector extends baseConnector.BaseConnector {
171
179
  }));
172
180
  try {
173
181
  await this.connectWithProvider(params);
174
- return this.provider;
182
+ return {
183
+ ethereumProvider: this.provider,
184
+ solanaWallet: this._solanaWallet,
185
+ connectorName: this.name
186
+ };
175
187
  } catch (error) {
176
188
  var _error$message;
177
189
  loglevel.log.error("Failed to connect with auth provider", error);
@@ -236,9 +248,10 @@ class AuthConnector extends baseConnector.BaseConnector {
236
248
  this.status = constants.CONNECTOR_STATUS.READY;
237
249
  }
238
250
  this.rehydrated = false;
251
+ this._solanaWallet = null;
239
252
  this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
240
253
  }
241
- async getIdentityToken() {
254
+ async getAuthTokenInfo() {
242
255
  if (!this.canAuthorize) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
243
256
  this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
244
257
  this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, {
@@ -246,14 +259,19 @@ class AuthConnector extends baseConnector.BaseConnector {
246
259
  });
247
260
  const userInfo = await this.getUserInfo();
248
261
  this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
262
+ const [accessToken, refreshToken] = await Promise.all([this.authInstance.authSessionManager.getAccessToken(), this.authInstance.authSessionManager.getRefreshToken()]);
249
263
  this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, {
250
264
  connector: index.WALLET_CONNECTORS.AUTH,
251
- identityTokenInfo: {
252
- idToken: userInfo.idToken
265
+ authTokenInfo: {
266
+ idToken: userInfo.idToken,
267
+ accessToken,
268
+ refreshToken
253
269
  }
254
270
  });
255
271
  return {
256
- idToken: userInfo.idToken
272
+ idToken: userInfo.idToken,
273
+ accessToken,
274
+ refreshToken
257
275
  };
258
276
  }
259
277
  async getUserInfo() {
@@ -262,39 +280,29 @@ class AuthConnector extends baseConnector.BaseConnector {
262
280
  const userInfo = this.authInstance.getUserInfo();
263
281
  return userInfo;
264
282
  }
265
- // we don't support switching between different namespaces, except for solana and evm
266
283
  async switchChain(params, init = false) {
267
284
  super.checkSwitchChainRequirements(params, init);
268
- // get chains and namespaces
269
285
  const {
270
286
  chainId: newChainId
271
287
  } = params;
272
288
  const {
273
289
  chainId: currentChainId
274
290
  } = this.provider;
275
- const {
276
- chainNamespace: currentNamespace
277
- } = this.getChain(currentChainId);
278
- const {
279
- chainNamespace: newNamespace
280
- } = this.getChain(newChainId);
281
- // skip if chainId is the same
282
291
  if (currentChainId === newChainId) return;
283
- if (currentNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA || currentNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
292
+ const newChainConfig = this.coreOptions.chains.find(c => c.chainId === newChainId);
293
+ if (!newChainConfig) throw index$1.WalletInitializationError.invalidParams("Chain config is not available");
294
+ if (newChainConfig.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA || newChainConfig.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
284
295
  var _this$wsEmbedInstance2;
285
- // can only switch to solana or evm
286
- if (newNamespace !== baseControllers.CHAIN_NAMESPACES.SOLANA && newNamespace !== baseControllers.CHAIN_NAMESPACES.EIP155) throw index$1.WalletLoginError.connectionError("Cannot switch to other chain namespace");
287
- const fullChainId = `${newNamespace}:${Number(params.chainId)}`;
288
- await ((_this$wsEmbedInstance2 = this.wsEmbedInstance.provider) === null || _this$wsEmbedInstance2 === void 0 ? void 0 : _this$wsEmbedInstance2.request({
296
+ if (!((_this$wsEmbedInstance2 = this.wsEmbedInstance) !== null && _this$wsEmbedInstance2 !== void 0 && _this$wsEmbedInstance2.provider)) throw index$1.WalletInitializationError.notReady("Wallet embed is not ready");
297
+ const fullChainId = utils.getCaipChainId(newChainConfig);
298
+ await this.wsEmbedInstance.provider.request({
289
299
  method: "wallet_switchChain",
290
300
  params: {
291
301
  chainId: fullChainId
292
302
  }
293
- }));
303
+ });
294
304
  } else {
295
305
  var _this$privateKeyProvi;
296
- // cannot switch to other namespaces
297
- if (currentNamespace !== newNamespace) throw index$1.WalletLoginError.connectionError("Cannot switch to other chain namespace");
298
306
  await ((_this$privateKeyProvi = this.privateKeyProvider) === null || _this$privateKeyProvi === void 0 ? void 0 : _this$privateKeyProvi.switchChain(params));
299
307
  }
300
308
  }
@@ -323,8 +331,10 @@ class AuthConnector extends baseConnector.BaseConnector {
323
331
  });
324
332
  return providerConfig;
325
333
  }
326
- getChain(chainId) {
327
- return this.coreOptions.chains.find(x => x.chainId === chainId);
334
+ setupSolanaWallet() {
335
+ const solanaChains = this.coreOptions.chains.filter(c => c.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA);
336
+ if (solanaChains.length === 0 || !this.provider) return;
337
+ this._solanaWallet = new authSolanaWallet.AuthSolanaWallet(this.provider, solanaChains);
328
338
  }
329
339
  _getFinalPrivKey() {
330
340
  if (!this.authInstance) return "";
@@ -382,24 +392,26 @@ class AuthConnector extends baseConnector.BaseConnector {
382
392
  sessionNamespace
383
393
  } = this.authInstance || {};
384
394
  if (sessionId) {
385
- const isLoggedIn = await this.wsEmbedInstance.loginWithSessionId({
395
+ this.wsEmbedInstance.setAccessTokenProvider(this.accessTokenProvider.bind(this));
396
+ const isLoggedIn = await this.wsEmbedInstance.connectWithSession({
386
397
  sessionId,
387
- sessionNamespace
398
+ sessionNamespace,
399
+ idToken: await this.getIdToken()
388
400
  });
389
401
  if (isLoggedIn) {
390
402
  var _this$wsEmbedInstance3;
391
- // if getIdentityToken is true, then get the identity token
392
- // No need to get the identity token for auth connector as it is already handled
393
- let identityTokenInfo;
403
+ this.setupSolanaWallet();
404
+ // if getAuthTokenInfo is true, then get auth token info
405
+ // No need to get auth token info for auth connector as it is already handled
394
406
  this.status = constants.CONNECTOR_STATUS.CONNECTED;
395
407
  this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
396
- connector: index.WALLET_CONNECTORS.AUTH,
408
+ connectorName: index.WALLET_CONNECTORS.AUTH,
397
409
  reconnected: this.rehydrated,
398
- provider: this.provider,
399
- identityTokenInfo
410
+ ethereumProvider: this.provider,
411
+ solanaWallet: this._solanaWallet
400
412
  });
401
- if (params.getIdentityToken) {
402
- identityTokenInfo = await this.getIdentityToken();
413
+ if (params.getAuthTokenInfo) {
414
+ await this.getAuthTokenInfo();
403
415
  }
404
416
  // handle disconnect from ws embed
405
417
  (_this$wsEmbedInstance3 = this.wsEmbedInstance) === null || _this$wsEmbedInstance3 === void 0 || _this$wsEmbedInstance3.provider.on("accountsChanged", (accounts = []) => {
@@ -416,9 +428,10 @@ class AuthConnector extends baseConnector.BaseConnector {
416
428
  await this.privateKeyProvider.setupProvider(finalPrivKey, params.chainId);
417
429
  this.status = constants.CONNECTOR_STATUS.CONNECTED;
418
430
  this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
419
- connector: index.WALLET_CONNECTORS.AUTH,
420
- reconnected: this.rehydrated,
421
- provider: this.provider
431
+ connectorName: index.WALLET_CONNECTORS.AUTH,
432
+ ethereumProvider: this.provider,
433
+ solanaWallet: this._solanaWallet,
434
+ reconnected: this.rehydrated
422
435
  });
423
436
  }
424
437
  }
@@ -434,9 +447,12 @@ class AuthConnector extends baseConnector.BaseConnector {
434
447
  const jwtParams = _objectSpread(_objectSpread(_objectSpread({}, providerConfig.jwtParameters || {}), params.extraLoginOptions || {}), {}, {
435
448
  login_hint: params.loginHint || ((_params$extraLoginOpt3 = params.extraLoginOptions) === null || _params$extraLoginOpt3 === void 0 ? void 0 : _params$extraLoginOpt3.login_hint)
436
449
  });
437
- const nonce = auth.randomId();
450
+ const nonce = utils$1.generateNonce();
438
451
  // post a message to the auth provider to indicate that login has been initiated.
439
- const loginParams = baseControllers.cloneDeep(params);
452
+ const loginParams = _objectSpread(_objectSpread({}, baseControllers.cloneDeep(params)), {}, {
453
+ recordId: auth.generateRecordId(),
454
+ loginSource: "web3auth-web"
455
+ });
440
456
  loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, loginParams.extraLoginOptions || {}), {}, {
441
457
  login_hint: params.loginHint || ((_params$extraLoginOpt4 = params.extraLoginOptions) === null || _params$extraLoginOpt4 === void 0 ? void 0 : _params$extraLoginOpt4.login_hint)
442
458
  });
@@ -459,10 +475,11 @@ class AuthConnector extends baseConnector.BaseConnector {
459
475
  version: auth.version.split(".")[0],
460
476
  web3AuthNetwork: this.coreOptions.web3AuthNetwork,
461
477
  web3AuthClientId: this.coreOptions.clientId,
462
- originData: this.authInstance.options.originData ? JSON.stringify(this.authInstance.options.originData) : undefined
478
+ originData: this.getOriginData()
463
479
  },
464
480
  web3AuthClientId: this.coreOptions.clientId,
465
- web3AuthNetwork: this.coreOptions.web3AuthNetwork
481
+ web3AuthNetwork: this.coreOptions.web3AuthNetwork,
482
+ storageServerUrl: this.authInstance.options.storageServerUrl
466
483
  };
467
484
  const loginHandler = auth.createHandler(popupParams);
468
485
  const verifierWindow = new auth.PopupHandler({
@@ -471,6 +488,9 @@ class AuthConnector extends baseConnector.BaseConnector {
471
488
  });
472
489
  if (this.authOptions.uxMode === auth.UX_MODE.REDIRECT) return verifierWindow.redirect(this.authOptions.replaceUrlOnRedirect);
473
490
  let isClosedWindow = false;
491
+ this.auditOAuditProgress(loginParams).catch(error => {
492
+ loglevel.log.error("Error reporting `oauthInitiated` audit progress", error);
493
+ });
474
494
  return new Promise((resolve, reject) => {
475
495
  verifierWindow.open().catch(error => {
476
496
  loglevel.log.error("Error during login with social", error);
@@ -479,7 +499,9 @@ class AuthConnector extends baseConnector.BaseConnector {
479
499
  });
480
500
  // this is to close the popup when the login is finished.
481
501
  const securePubSub$1 = new securePubSub.SecurePubSub({
482
- sameIpCheck: true
502
+ sameIpCheck: true,
503
+ serverUrl: this.authInstance.options.storageServerUrl,
504
+ socketUrl: this.authInstance.options.sessionSocketUrl
483
505
  });
484
506
  securePubSub$1.subscribe(`web3auth-login-${nonce}`).then(data => {
485
507
  const parsedData = JSON.parse(data || "{}");
@@ -496,6 +518,9 @@ class AuthConnector extends baseConnector.BaseConnector {
496
518
  }).catch(error => {
497
519
  // swallow the error, dont need to throw.
498
520
  loglevel.log.error("Error during login with social", error);
521
+ this.auditOAuditProgress(loginParams, "failed").catch(error => {
522
+ loglevel.log.error("Error reporting `oauthFailed` audit progress", error);
523
+ });
499
524
  });
500
525
  verifierWindow.once("close", () => {
501
526
  if (!isClosedWindow) {
@@ -505,6 +530,9 @@ class AuthConnector extends baseConnector.BaseConnector {
505
530
  }
506
531
  });
507
532
  this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(error => {
533
+ this.auditOAuditProgress(loginParams, "failed").catch(error => {
534
+ loglevel.log.error("Error reporting `oauthFailed` audit progress", error);
535
+ });
508
536
  if (error instanceof index$1.Web3AuthError) {
509
537
  throw error;
510
538
  }
@@ -512,6 +540,39 @@ class AuthConnector extends baseConnector.BaseConnector {
512
540
  });
513
541
  });
514
542
  }
543
+ async accessTokenProvider({
544
+ forceRefresh
545
+ }) {
546
+ if (forceRefresh) {
547
+ await this.authInstance.refreshSession();
548
+ }
549
+ return this.authInstance.getAccessToken();
550
+ }
551
+ async getIdToken() {
552
+ if (!this.authInstance) throw index$1.WalletInitializationError.notReady("authInstance is not ready");
553
+ return this.authInstance.authSessionManager.getIdToken();
554
+ }
555
+ getOriginData() {
556
+ try {
557
+ const {
558
+ originData,
559
+ redirectUrl
560
+ } = this.authInstance.options;
561
+ const origin = new URL(redirectUrl).origin;
562
+ if (originData) {
563
+ const dappOriginData = originData[origin];
564
+ if (dappOriginData) {
565
+ return JSON.stringify({
566
+ [origin]: dappOriginData
567
+ });
568
+ }
569
+ }
570
+ return undefined;
571
+ } catch (error) {
572
+ loglevel.log.error("Error getting origin data", error);
573
+ return undefined;
574
+ }
575
+ }
515
576
  connectWithJwtLogin(params) {
516
577
  var _params$extraLoginOpt5, _params$extraLoginOpt7;
517
578
  const loginConfig = this.getOAuthProviderConfig({
@@ -538,7 +599,7 @@ class AuthConnector extends baseConnector.BaseConnector {
538
599
  } else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
539
600
  const {
540
601
  payload
541
- } = utils.parseToken(params.extraLoginOptions.id_token);
602
+ } = utils$1.parseToken(params.extraLoginOptions.id_token);
542
603
  finalUserId = auth.getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
543
604
  } else {
544
605
  throw index$1.WalletLoginError.connectionError("Invalid login hint or id_token");
@@ -550,6 +611,41 @@ class AuthConnector extends baseConnector.BaseConnector {
550
611
  delete loginParams.chainId;
551
612
  return this.authInstance.postLoginInitiatedMessage(loginParams);
552
613
  }
614
+ async auditOAuditProgress(loginParams, status) {
615
+ const {
616
+ authConnection,
617
+ authConnectionId,
618
+ groupedAuthConnectionId,
619
+ recordId,
620
+ loginSource
621
+ } = loginParams;
622
+ const {
623
+ authBuildEnv = auth.BUILD_ENV.PRODUCTION,
624
+ web3AuthNetwork,
625
+ clientId
626
+ } = this.coreOptions;
627
+ const auditServerUrl = `${constants$1.CITADEL_SERVER_MAP[authBuildEnv]}/v1/auth/audit`;
628
+ const progressFlag = {
629
+ oauthInitiated: true
630
+ };
631
+ const auditPayload = _objectSpread({
632
+ authConnection,
633
+ authConnectionId,
634
+ groupedAuthConnectionId,
635
+ recordId,
636
+ source: loginSource,
637
+ web3AuthNetwork,
638
+ web3AuthClientId: clientId
639
+ }, progressFlag);
640
+ if (status === "failed") {
641
+ auditPayload.oauthFailed = true;
642
+ } else if (status === "completed") {
643
+ auditPayload.oauthCompleted = true;
644
+ } else {
645
+ auditPayload.oauthInitiated = true;
646
+ }
647
+ await httpHelpers.put(auditServerUrl, auditPayload);
648
+ }
553
649
  }
554
650
  const authConnector = params => {
555
651
  return ({
@@ -0,0 +1,187 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var kit = require('@solana/kit');
6
+ var walletStandardFeatures = require('@solana/wallet-standard-features');
7
+ var features = require('@wallet-standard/features');
8
+ var wsEmbed = require('@web3auth/ws-embed');
9
+ require('@segment/analytics-next');
10
+ require('../../base/loglevel.js');
11
+ require('@toruslabs/base-controllers');
12
+ require('@toruslabs/session-manager');
13
+ require('@web3auth/auth');
14
+ var index$1 = require('../../base/errors/index.js');
15
+ require('@toruslabs/constants');
16
+ require('@toruslabs/http-helpers');
17
+ var constants = require('../../base/constants.js');
18
+ var index = require('../../base/wallet/index.js');
19
+ require('../../base/connector/connectorStatus.js');
20
+ require('../../base/connector/constants.js');
21
+ require('jwt-decode');
22
+ require('../../base/plugin/errors.js');
23
+ require('../../base/plugin/IPlugin.js');
24
+ var solana = require('../../base/wallet/solana.js');
25
+
26
+ const base58Encoder = kit.getBase58Encoder();
27
+ const base64Decoder = kit.getBase64Decoder();
28
+ const base64Encoder = kit.getBase64Encoder();
29
+ const transactionDecoder = kit.getTransactionDecoder();
30
+ const ACCOUNT_FEATURES = [walletStandardFeatures.SolanaSignAndSendTransaction, walletStandardFeatures.SolanaSignMessage, walletStandardFeatures.SolanaSignTransaction];
31
+ function solanaWalletChainsFromConfigs(solanaChainConfigs) {
32
+ const ids = solanaChainConfigs.map(solana.getSolanaChainByChainConfig).filter(id => id != null);
33
+ const unique = [...new Set(ids)];
34
+ return unique;
35
+ }
36
+ const SOLANA_PROVIDER_HEX_CHAIN_IDS = new Set(Object.keys(constants.SOLANA_CAIP_CHAIN_MAP).map(id => id.toLowerCase()));
37
+ /**
38
+ * AuthSolanaWallet implements the Wallet Standard interface, wrapping a JRPC provider.
39
+ * Used by AuthConnector so consumers get a standards-compliant Wallet from `connection.solanaWallet`.
40
+ *
41
+ * {@link Wallet.accounts} is synchronous in the Wallet Standard; it returns `[]` until accounts have been loaded
42
+ * (`null` internally). The first async operation ({@link StandardConnect}, sign, etc.) calls `ensureAccountsLoaded`, which
43
+ * requires {@link IProvider.chainId} to be a configured Solana network (see {@link SOLANA_CAIP_CHAIN_MAP}) before {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}.
44
+ */
45
+ class AuthSolanaWallet {
46
+ /**
47
+ * @param solanaChainConfigs - All configured Solana {@link CustomChainConfig} entries (same namespace).
48
+ */
49
+ constructor(_provider, solanaChainConfigs) {
50
+ _defineProperty(this, "_provider", void 0);
51
+ _defineProperty(this, "version", "1.0.0");
52
+ _defineProperty(this, "name", "Web3Auth");
53
+ _defineProperty(this, "icon", index.WEB3AUTH_ICON);
54
+ _defineProperty(this, "chains", void 0);
55
+ _defineProperty(this, "features", void 0);
56
+ _defineProperty(this, "_accounts", null);
57
+ _defineProperty(this, "_listeners", {});
58
+ this._provider = _provider;
59
+ this.chains = solanaWalletChainsFromConfigs(solanaChainConfigs);
60
+ this.features = {
61
+ [features.StandardConnect]: {
62
+ version: "1.0.0",
63
+ connect: async () => {
64
+ await this.ensureAccountsLoaded();
65
+ return {
66
+ accounts: this.accounts
67
+ };
68
+ }
69
+ },
70
+ [features.StandardDisconnect]: {
71
+ version: "1.0.0",
72
+ disconnect: async () => {}
73
+ },
74
+ [features.StandardEvents]: {
75
+ version: "1.0.0",
76
+ on: (event, listener) => {
77
+ var _this$_listeners, _this$_listeners$even;
78
+ ((_this$_listeners$even = (_this$_listeners = this._listeners)[event]) !== null && _this$_listeners$even !== void 0 ? _this$_listeners$even : _this$_listeners[event] = new Set()).add(listener);
79
+ return () => this._listeners[event].delete(listener);
80
+ }
81
+ },
82
+ [walletStandardFeatures.SolanaSignAndSendTransaction]: {
83
+ version: "1.0.0",
84
+ supportedTransactionVersions: ["legacy", 0],
85
+ signAndSendTransaction: async (...inputs) => {
86
+ await this.ensureAccountsLoaded();
87
+ return Promise.all(inputs.map(async input => {
88
+ const base64Tx = base64Decoder.decode(input.transaction);
89
+ const signature = await this._provider.request({
90
+ method: wsEmbed.SOLANA_METHOD_TYPES.SEND_TRANSACTION,
91
+ params: {
92
+ message: base64Tx
93
+ }
94
+ });
95
+ return {
96
+ signature: new Uint8Array(base58Encoder.encode(signature))
97
+ };
98
+ }));
99
+ }
100
+ },
101
+ [walletStandardFeatures.SolanaSignMessage]: {
102
+ version: "1.0.0",
103
+ signMessage: async (...inputs) => {
104
+ await this.ensureAccountsLoaded();
105
+ return Promise.all(inputs.map(async input => {
106
+ const message = new TextDecoder().decode(input.message);
107
+ const signature = await this._provider.request({
108
+ method: wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE,
109
+ params: {
110
+ data: message,
111
+ from: input.account.address
112
+ }
113
+ });
114
+ return {
115
+ signedMessage: new Uint8Array(input.message),
116
+ signature: new Uint8Array(base58Encoder.encode(signature))
117
+ };
118
+ }));
119
+ }
120
+ },
121
+ [walletStandardFeatures.SolanaSignTransaction]: {
122
+ version: "1.0.0",
123
+ supportedTransactionVersions: ["legacy", 0],
124
+ signTransaction: async (...inputs) => {
125
+ await this.ensureAccountsLoaded();
126
+ return Promise.all(inputs.map(async input => {
127
+ const base64Tx = base64Decoder.decode(input.transaction);
128
+ const signatureBase58 = await this._provider.request({
129
+ method: wsEmbed.SOLANA_METHOD_TYPES.SIGN_TRANSACTION,
130
+ params: {
131
+ message: base64Tx
132
+ }
133
+ });
134
+ const sigBytes = new Uint8Array(base58Encoder.encode(signatureBase58));
135
+ const decodedTx = transactionDecoder.decode(input.transaction);
136
+ const signedTx = _objectSpread(_objectSpread({}, decodedTx), {}, {
137
+ signatures: _objectSpread(_objectSpread({}, decodedTx.signatures), {}, {
138
+ [input.account.address]: sigBytes
139
+ })
140
+ });
141
+ const signedBase64 = kit.getBase64EncodedWireTransaction(signedTx);
142
+ return {
143
+ signedTransaction: new Uint8Array(base64Encoder.encode(signedBase64))
144
+ };
145
+ }));
146
+ }
147
+ }
148
+ };
149
+ }
150
+ /**
151
+ * Wallet Standard requires a synchronous getter; RPC runs on first async wallet operation instead.
152
+ */
153
+ get accounts() {
154
+ var _this$_accounts;
155
+ return (_this$_accounts = this._accounts) !== null && _this$_accounts !== void 0 ? _this$_accounts : [];
156
+ }
157
+ /** Throws if the embed is not on Solana; otherwise loads accounts once via {@link SOLANA_METHOD_TYPES.GET_ACCOUNTS}. */
158
+ async ensureAccountsLoaded() {
159
+ var _await$this$_provider;
160
+ // assert solana chain
161
+ const chainId = this._provider.chainId;
162
+ if (!SOLANA_PROVIDER_HEX_CHAIN_IDS.has(chainId.toLowerCase())) throw index$1.WalletLoginError.unsupportedOperation(`Solana wallet operations require the embedded provider to be on a Solana network (current chainId: ${chainId}). Switch chain first.`);
163
+ if (this._accounts !== null) return;
164
+ const addresses = (_await$this$_provider = await this._provider.request({
165
+ method: wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
166
+ })) !== null && _await$this$_provider !== void 0 ? _await$this$_provider : [];
167
+ const accountChains = this.chains;
168
+ this._accounts = addresses.map(address => ({
169
+ address,
170
+ publicKey: new Uint8Array(base58Encoder.encode(address)),
171
+ chains: accountChains.length ? accountChains : [],
172
+ features: ACCOUNT_FEATURES
173
+ }));
174
+ this.emitChange({
175
+ accounts: this.accounts
176
+ });
177
+ }
178
+ emitChange(properties) {
179
+ const listeners = this._listeners.change;
180
+ if (!listeners) return;
181
+ listeners.forEach(listener => {
182
+ listener(properties);
183
+ });
184
+ }
185
+ }
186
+
187
+ exports.AuthSolanaWallet = AuthSolanaWallet;