@web3auth/no-modal 10.0.0-beta.4 → 10.0.0-beta.6

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 (96) hide show
  1. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +4 -2
  2. package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
  3. package/dist/lib.cjs/index.js +0 -2
  4. package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
  5. package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
  6. package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
  7. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +52 -0
  8. package/dist/lib.cjs/react/solana/index.js +13 -0
  9. package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
  10. package/dist/lib.cjs/types/connectors/index.d.ts +0 -1
  11. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
  12. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
  13. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
  14. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
  15. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +6 -0
  16. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  17. package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
  18. package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
  19. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
  20. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
  21. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
  22. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
  23. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
  24. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
  25. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
  26. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
  27. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
  28. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
  29. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
  30. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
  31. package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
  32. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
  33. package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
  34. package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
  35. package/dist/lib.cjs/types/vue/index.d.ts +4 -2
  36. package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
  37. package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
  38. package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +32 -87
  39. package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
  40. package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
  41. package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
  42. package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
  43. package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
  44. package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
  45. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
  46. package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
  47. package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
  48. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
  49. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +57 -0
  50. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
  51. package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  52. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
  53. package/dist/lib.cjs/vue/index.js +28 -8
  54. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +3 -1
  55. package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
  56. package/dist/lib.esm/index.js +0 -1
  57. package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
  58. package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
  59. package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
  60. package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +50 -0
  61. package/dist/lib.esm/react/solana/index.js +4 -0
  62. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +79 -0
  63. package/dist/lib.esm/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +32 -87
  64. package/dist/lib.esm/vue/composables/useCheckout.js +43 -0
  65. package/dist/lib.esm/vue/composables/useEnableMFA.js +41 -0
  66. package/dist/lib.esm/vue/composables/useIdentityToken.js +53 -0
  67. package/dist/lib.esm/vue/composables/useManageMFA.js +41 -0
  68. package/dist/lib.esm/vue/composables/useSwap.js +43 -0
  69. package/dist/lib.esm/vue/composables/useSwitchChain.js +41 -0
  70. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +43 -0
  71. package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
  72. package/dist/lib.esm/vue/composables/useWalletUI.js +43 -0
  73. package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
  74. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +55 -0
  75. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +41 -0
  76. package/dist/lib.esm/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
  77. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +62 -0
  78. package/dist/lib.esm/vue/index.js +15 -5
  79. package/dist/noModal.umd.min.js +1 -1
  80. package/dist/noModal.umd.min.js.LICENSE.txt +4 -0
  81. package/package.json +27 -11
  82. package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
  83. package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
  84. package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
  85. package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
  86. package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
  87. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
  88. package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
  89. package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
  90. package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
  91. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
  92. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
  93. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
  94. /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
  95. /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
  96. /package/dist/lib.esm/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
@@ -2,7 +2,6 @@
2
2
 
3
3
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var walletSdk = require('@coinbase/wallet-sdk');
6
5
  var IChainInterface = require('../../base/chain/IChainInterface.js');
7
6
  require('@web3auth/auth');
8
7
  var index$1 = require('../../base/errors/index.js');
@@ -46,7 +45,10 @@ class CoinbaseConnector extends baseEvmConnector.BaseEvmConnector {
46
45
  super.checkInitializationRequirements({
47
46
  chainConfig
48
47
  });
49
- const coinbaseInstance = walletSdk.createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
48
+ const {
49
+ createCoinbaseWalletSDK
50
+ } = await import('@coinbase/wallet-sdk');
51
+ const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
50
52
  preference: {
51
53
  options: this.coinbaseOptions.options || "smartWalletOnly"
52
54
  },
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var coinbaseConnector = require('./coinbaseConnector.js');
4
+
5
+
6
+
7
+ exports.coinbaseConnector = coinbaseConnector.coinbaseConnector;
@@ -17,7 +17,6 @@ var index$2 = require('./base/wallet/index.js');
17
17
  var authConnector = require('./connectors/auth-connector/authConnector.js');
18
18
  var baseEvmConnector = require('./connectors/base-evm-connector/baseEvmConnector.js');
19
19
  var baseSolanaConnector = require('./connectors/base-solana-connector/baseSolanaConnector.js');
20
- var coinbaseConnector = require('./connectors/coinbase-connector/coinbaseConnector.js');
21
20
  var injectedEvmConnector = require('./connectors/injected-evm-connector/injectedEvmConnector.js');
22
21
  var mipd = require('mipd');
23
22
  var index$3 = require('./connectors/injected-solana-connector/index.js');
@@ -127,7 +126,6 @@ exports.WALLET_CONNECTORS = index$2.WALLET_CONNECTORS;
127
126
  exports.authConnector = authConnector.authConnector;
128
127
  exports.BaseEvmConnector = baseEvmConnector.BaseEvmConnector;
129
128
  exports.BaseSolanaConnector = baseSolanaConnector.BaseSolanaConnector;
130
- exports.coinbaseConnector = coinbaseConnector.coinbaseConnector;
131
129
  exports.injectedEvmConnector = injectedEvmConnector.injectedEvmConnector;
132
130
  Object.defineProperty(exports, "createMipd", {
133
131
  enumerable: true,
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignAndSendTransaction = () => {
7
+ const {
8
+ solanaWallet
9
+ } = useSolanaWallet.useSolanaWallet();
10
+ const [loading, setLoading] = react.useState(false);
11
+ const [error, setError] = react.useState(null);
12
+ const [data, setData] = react.useState(null);
13
+ const signAndSendTransaction = react.useCallback(async transaction => {
14
+ setLoading(true);
15
+ setError(null);
16
+ try {
17
+ if (!solanaWallet) throw new Error("Solana wallet not found");
18
+ const signature = await solanaWallet.signAndSendTransaction(transaction);
19
+ setData(signature);
20
+ return signature;
21
+ } catch (error) {
22
+ setError(error);
23
+ } finally {
24
+ setLoading(false);
25
+ }
26
+ }, [solanaWallet]);
27
+ return {
28
+ loading,
29
+ error,
30
+ data,
31
+ signAndSendTransaction
32
+ };
33
+ };
34
+
35
+ exports.useSignAndSendTransaction = useSignAndSendTransaction;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignMessage = () => {
7
+ const {
8
+ solanaWallet,
9
+ accounts
10
+ } = useSolanaWallet.useSolanaWallet();
11
+ const [loading, setLoading] = react.useState(false);
12
+ const [error, setError] = react.useState(null);
13
+ const [data, setData] = react.useState(null);
14
+ const signMessage = react.useCallback(async (message, from) => {
15
+ setLoading(true);
16
+ setError(null);
17
+ try {
18
+ if (!solanaWallet) throw new Error("Solana wallet not found");
19
+ const signature = await solanaWallet.signMessage(message, from !== null && from !== void 0 ? from : accounts === null || accounts === void 0 ? void 0 : accounts[0]);
20
+ setData(signature);
21
+ return signature;
22
+ } catch (error) {
23
+ setError(error);
24
+ } finally {
25
+ setLoading(false);
26
+ }
27
+ }, [solanaWallet, accounts]);
28
+ return {
29
+ loading,
30
+ error,
31
+ data,
32
+ signMessage
33
+ };
34
+ };
35
+
36
+ exports.useSignMessage = useSignMessage;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useSolanaWallet = require('./useSolanaWallet.js');
5
+
6
+ const useSignTransaction = () => {
7
+ const {
8
+ solanaWallet
9
+ } = useSolanaWallet.useSolanaWallet();
10
+ const [loading, setLoading] = react.useState(false);
11
+ const [error, setError] = react.useState(null);
12
+ const [data, setData] = react.useState(null);
13
+ const signTransaction = react.useCallback(async transaction => {
14
+ setLoading(true);
15
+ setError(null);
16
+ try {
17
+ const signedTransaction = await solanaWallet.signTransaction(transaction);
18
+ setData(signedTransaction);
19
+ return signedTransaction;
20
+ } catch (error) {
21
+ setError(error);
22
+ } finally {
23
+ setLoading(false);
24
+ }
25
+ }, [solanaWallet]);
26
+ return {
27
+ loading,
28
+ error,
29
+ data,
30
+ signTransaction
31
+ };
32
+ };
33
+
34
+ exports.useSignTransaction = useSignTransaction;
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ require('@solana/wallet-standard-features');
5
+ require('@solana/web3.js');
6
+ require('@toruslabs/bs58');
7
+ require('@toruslabs/base-controllers');
8
+ require('@babel/runtime/helpers/defineProperty');
9
+ require('@web3auth/auth');
10
+ require('../../../base/errors/index.js');
11
+ require('../../../base/wallet/index.js');
12
+ require('../../../base/connector/constants.js');
13
+ require('jwt-decode');
14
+ require('../../../base/loglevel.js');
15
+ require('../../../base/plugin/errors.js');
16
+ require('../../../base/plugin/IPlugin.js');
17
+ require('@toruslabs/constants');
18
+ require('@toruslabs/http-helpers');
19
+ require('@babel/runtime/helpers/objectSpread2');
20
+ require('../../../providers/base-provider/utils.js');
21
+ require('../../../providers/base-provider/CommonJRPCProvider.js');
22
+ require('../../../providers/base-provider/commonPrivateKeyProvider.js');
23
+ require('@web3auth/ws-embed');
24
+ var solanaWallet = require('../../../providers/solana-provider/solanaWallet.js');
25
+ var useWeb3Auth = require('../../hooks/useWeb3Auth.js');
26
+
27
+ const useSolanaWallet = () => {
28
+ const {
29
+ provider
30
+ } = useWeb3Auth.useWeb3Auth();
31
+ const [accounts, setAccounts] = react.useState(null);
32
+ const solanaWallet$1 = react.useMemo(() => {
33
+ if (!provider) return null;
34
+ return new solanaWallet.SolanaWallet(provider);
35
+ }, [provider]);
36
+ react.useEffect(() => {
37
+ const fetchAccounts = async () => {
38
+ if (!solanaWallet$1) return;
39
+ const accounts = await solanaWallet$1.requestAccounts();
40
+ if ((accounts === null || accounts === void 0 ? void 0 : accounts.length) > 0) {
41
+ setAccounts(accounts);
42
+ }
43
+ };
44
+ if (solanaWallet$1) fetchAccounts();
45
+ }, [solanaWallet$1]);
46
+ return {
47
+ solanaWallet: solanaWallet$1,
48
+ accounts
49
+ };
50
+ };
51
+
52
+ exports.useSolanaWallet = useSolanaWallet;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var useSignAndSendTransaction = require('./hooks/useSignAndSendTransaction.js');
4
+ var useSignMessage = require('./hooks/useSignMessage.js');
5
+ var useSignTransaction = require('./hooks/useSignTransaction.js');
6
+ var useSolanaWallet = require('./hooks/useSolanaWallet.js');
7
+
8
+
9
+
10
+ exports.useSignAndSendTransaction = useSignAndSendTransaction.useSignAndSendTransaction;
11
+ exports.useSignMessage = useSignMessage.useSignMessage;
12
+ exports.useSignTransaction = useSignTransaction.useSignTransaction;
13
+ exports.useSolanaWallet = useSolanaWallet.useSolanaWallet;
@@ -1,4 +1,4 @@
1
- import { AppMetadata, Preference } from "@coinbase/wallet-sdk";
1
+ import type { AppMetadata, Preference } from "@coinbase/wallet-sdk";
2
2
  import { BaseConnectorSettings, ConnectorFn } from "../../base";
3
3
  export type CoinbaseWalletSDKOptions = Partial<AppMetadata & Preference>;
4
4
  export interface CoinbaseConnectorOptions extends BaseConnectorSettings {
@@ -1,7 +1,6 @@
1
1
  export * from "./auth-connector";
2
2
  export * from "./base-evm-connector";
3
3
  export * from "./base-solana-connector";
4
- export * from "./coinbase-connector";
5
4
  export * from "./injected-evm-connector";
6
5
  export * from "./injected-solana-connector";
7
6
  export * from "./metamask-connector";
@@ -0,0 +1,4 @@
1
+ export * from "./useSignAndSendTransaction";
2
+ export * from "./useSignMessage";
3
+ export * from "./useSignTransaction";
4
+ export * from "./useSolanaWallet";
@@ -0,0 +1,9 @@
1
+ import { Web3AuthError } from "../../../base";
2
+ import { TransactionOrVersionedTransaction } from "../../../providers/solana-provider";
3
+ export type IUseSignAndSendTransaction = {
4
+ loading: boolean;
5
+ error: Web3AuthError | null;
6
+ data: string | null;
7
+ signAndSendTransaction: (transaction: TransactionOrVersionedTransaction) => Promise<string>;
8
+ };
9
+ export declare const useSignAndSendTransaction: () => IUseSignAndSendTransaction;
@@ -0,0 +1,8 @@
1
+ import { Web3AuthError } from "../../../base";
2
+ export type IUseSignMessage = {
3
+ loading: boolean;
4
+ error: Web3AuthError | null;
5
+ data: string | null;
6
+ signMessage: (message: string) => Promise<string>;
7
+ };
8
+ export declare const useSignMessage: () => IUseSignMessage;
@@ -0,0 +1,14 @@
1
+ import { Web3AuthError } from "../../../base";
2
+ import { TransactionOrVersionedTransaction } from "../../../providers/solana-provider";
3
+ export type IUseSignTransaction = {
4
+ loading: boolean;
5
+ error: Web3AuthError | null;
6
+ data: string | null;
7
+ signTransaction: (transaction: TransactionOrVersionedTransaction) => Promise<string>;
8
+ };
9
+ export declare const useSignTransaction: () => {
10
+ loading: boolean;
11
+ error: Web3AuthError;
12
+ data: string;
13
+ signTransaction: (transaction: TransactionOrVersionedTransaction) => Promise<string>;
14
+ };
@@ -0,0 +1,6 @@
1
+ import { SolanaWallet } from "../../../providers/solana-provider";
2
+ export type IUseSolanaWallet = {
3
+ accounts: string[] | null;
4
+ solanaWallet: SolanaWallet | null;
5
+ };
6
+ export declare const useSolanaWallet: () => IUseSolanaWallet;
@@ -0,0 +1 @@
1
+ export * from "./hooks";
@@ -0,0 +1 @@
1
+ export declare const WalletServicesInnerProvider: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,13 @@
1
+ export * from "./useCheckout";
2
+ export * from "./useEnableMFA";
3
+ export * from "./useIdentityToken";
4
+ export * from "./useManageMFA";
5
+ export * from "./useSwap";
6
+ export * from "./useSwitchChain";
7
+ export * from "./useWalletConnectScanner";
8
+ export * from "./useWalletServicesPlugin";
9
+ export * from "./useWalletUI";
10
+ export * from "./useWeb3Auth";
11
+ export * from "./useWeb3AuthConnect";
12
+ export * from "./useWeb3AuthDisconnect";
13
+ export * from "./useWeb3AuthUser";
@@ -0,0 +1,9 @@
1
+ import { BaseEmbedControllerState } from "@toruslabs/base-controllers";
2
+ import { Ref } from "vue";
3
+ import { Web3AuthError } from "../../base";
4
+ export interface IUseCheckout {
5
+ loading: Ref<boolean>;
6
+ error: Ref<Web3AuthError | null>;
7
+ showCheckout: (showCheckoutParams?: BaseEmbedControllerState["showCheckout"]) => Promise<void>;
8
+ }
9
+ export declare const useCheckout: () => IUseCheckout;
@@ -0,0 +1,8 @@
1
+ import { Ref } from "vue";
2
+ import { Web3AuthError } from "../../base";
3
+ export interface IUseEnableMFA {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ enableMFA<T>(params?: T): Promise<void>;
7
+ }
8
+ export declare const useEnableMFA: () => IUseEnableMFA;
@@ -0,0 +1,9 @@
1
+ import { Ref } from "vue";
2
+ import { Web3AuthError } from "../../base";
3
+ export interface IUseIdentityToken {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ token: Ref<string | null>;
7
+ authenticateUser: () => Promise<string | null>;
8
+ }
9
+ export declare const useIdentityToken: () => IUseIdentityToken;
@@ -0,0 +1,8 @@
1
+ import { Ref } from "vue";
2
+ import { Web3AuthError } from "../../base";
3
+ export interface IUseManageMFA {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ manageMFA<T>(params?: T): Promise<void>;
7
+ }
8
+ export declare const useManageMFA: () => IUseManageMFA;
@@ -0,0 +1,9 @@
1
+ import { BaseEmbedControllerState } from "@toruslabs/base-controllers";
2
+ import { Ref } from "vue";
3
+ import { Web3AuthError } from "../../base";
4
+ export interface IUseSwap {
5
+ loading: Ref<boolean>;
6
+ error: Ref<Web3AuthError | null>;
7
+ showSwap: (showSwapParams?: BaseEmbedControllerState["showSwap"]) => Promise<void>;
8
+ }
9
+ export declare const useSwap: () => IUseSwap;
@@ -0,0 +1,10 @@
1
+ import { Ref } from "vue";
2
+ import { Web3AuthError } from "../../base";
3
+ export interface IUseSwitchChain {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ switchChain: (chainParams: {
7
+ chainId: string;
8
+ }) => Promise<void>;
9
+ }
10
+ export declare const useSwitchChain: () => IUseSwitchChain;
@@ -0,0 +1,9 @@
1
+ import { BaseEmbedControllerState } from "@toruslabs/base-controllers";
2
+ import { Ref } from "vue";
3
+ import { Web3AuthError } from "../../base";
4
+ export interface IUseWalletConnectScanner {
5
+ loading: Ref<boolean>;
6
+ error: Ref<Web3AuthError | null>;
7
+ showWalletConnectScanner: (showWalletConnectScannerParams?: BaseEmbedControllerState["showWalletConnect"]) => Promise<void>;
8
+ }
9
+ export declare const useWalletConnectScanner: () => IUseWalletConnectScanner;
@@ -0,0 +1,2 @@
1
+ import { IWalletServicesInnerContext } from "../interfaces";
2
+ export declare const useWalletServicesPlugin: () => IWalletServicesInnerContext;
@@ -0,0 +1,9 @@
1
+ import { BaseEmbedControllerState } from "@toruslabs/base-controllers";
2
+ import { Ref } from "vue";
3
+ import { Web3AuthError } from "../../base";
4
+ export interface IUseWalletUI {
5
+ loading: Ref<boolean>;
6
+ error: Ref<Web3AuthError | null>;
7
+ showWalletUI: (showWalletUiParams?: BaseEmbedControllerState["showWalletUi"]) => Promise<void>;
8
+ }
9
+ export declare const useWalletUI: () => IUseWalletUI;
@@ -0,0 +1,3 @@
1
+ import { IWeb3AuthInnerContext } from "../interfaces";
2
+ export type IWeb3AuthNoModalContext = Omit<IWeb3AuthInnerContext, "isMFAEnabled" | "setIsMFAEnabled">;
3
+ export declare const useWeb3Auth: () => IWeb3AuthNoModalContext;
@@ -0,0 +1,10 @@
1
+ import { Ref } from "vue";
2
+ import { IProvider, LoginParamMap, WALLET_CONNECTOR_TYPE, Web3AuthError } from "../../base";
3
+ export interface IUseWeb3AuthConnect {
4
+ isConnected: Ref<boolean>;
5
+ loading: Ref<boolean>;
6
+ error: Ref<Web3AuthError | null>;
7
+ connectorName: Ref<WALLET_CONNECTOR_TYPE | null>;
8
+ connect: <T extends WALLET_CONNECTOR_TYPE>(connectorType: T, loginParams?: LoginParamMap[T]) => Promise<IProvider | null>;
9
+ }
10
+ export declare const useWeb3AuthConnect: () => IUseWeb3AuthConnect;
@@ -0,0 +1,10 @@
1
+ import { Ref } from "vue";
2
+ import { Web3AuthError } from "../../base";
3
+ export interface IUseWeb3AuthDisconnect {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ disconnect(options?: {
7
+ cleanup: boolean;
8
+ }): Promise<void>;
9
+ }
10
+ export declare const useWeb3AuthDisconnect: () => IUseWeb3AuthDisconnect;
@@ -0,0 +1,2 @@
1
+ import { IWeb3AuthInnerContext } from "../interfaces";
2
+ export declare const useWeb3AuthInner: () => IWeb3AuthInnerContext;
@@ -0,0 +1,10 @@
1
+ import { Ref } from "vue";
2
+ import { type UserInfo, Web3AuthError } from "../../base";
3
+ export interface IUseWeb3AuthUser {
4
+ loading: Ref<boolean>;
5
+ error: Ref<Web3AuthError | null>;
6
+ userInfo: Ref<Partial<UserInfo> | null>;
7
+ isMFAEnabled: Ref<boolean>;
8
+ getUserInfo: () => Promise<Partial<UserInfo> | null>;
9
+ }
10
+ export declare const useWeb3AuthUser: () => IUseWeb3AuthUser;
@@ -1,3 +1,3 @@
1
1
  import { InjectionKey } from "vue";
2
- import { IWalletServicesContext } from "./interfaces";
3
- export declare const WalletServicesContextKey: InjectionKey<IWalletServicesContext>;
2
+ import { IWalletServicesInnerContext } from "../interfaces";
3
+ export declare const WalletServicesContextKey: InjectionKey<IWalletServicesInnerContext>;
@@ -0,0 +1 @@
1
+ export * from "./WalletServicesContext";
@@ -1,2 +1,4 @@
1
- export * from "./no-modal";
2
- export * from "./wallet-services-plugin";
1
+ export * from "./composables";
2
+ export * from "./context";
3
+ export * from "./interfaces";
4
+ export * from "./Web3AuthProvider";
@@ -0,0 +1,30 @@
1
+ import { Ref, ShallowRef } from "vue";
2
+ import type { CONNECTOR_STATUS_TYPE, IPlugin, IProvider, IWeb3AuthCoreOptions } from "../base";
3
+ import { WalletServicesPluginType } from "../plugins/wallet-services-plugin";
4
+ import type { Web3AuthNoModal } from "../noModal";
5
+ export type Web3AuthContextConfig = {
6
+ web3AuthOptions: IWeb3AuthCoreOptions;
7
+ };
8
+ export interface Web3AuthProviderProps {
9
+ config: Web3AuthContextConfig;
10
+ }
11
+ interface IBaseWeb3AuthComposableContext {
12
+ isConnected: Ref<boolean>;
13
+ provider: Ref<IProvider | null>;
14
+ isInitializing: Ref<boolean>;
15
+ initError: Ref<Error | null>;
16
+ isInitialized: Ref<boolean>;
17
+ status: Ref<CONNECTOR_STATUS_TYPE | null>;
18
+ isMFAEnabled: Ref<boolean>;
19
+ getPlugin: (pluginName: string) => IPlugin | null;
20
+ setIsMFAEnabled: (isMfaEnabled: boolean) => void;
21
+ }
22
+ export interface IWeb3AuthInnerContext extends IBaseWeb3AuthComposableContext {
23
+ web3Auth: ShallowRef<Web3AuthNoModal | null>;
24
+ }
25
+ export interface IWalletServicesInnerContext {
26
+ plugin: ShallowRef<WalletServicesPluginType | null>;
27
+ ready: Ref<boolean>;
28
+ connecting: Ref<boolean>;
29
+ }
30
+ export {};
@@ -2,32 +2,33 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  require('@toruslabs/base-controllers');
5
- var index = require('../../base/composables/index.js');
6
5
  require('@babel/runtime/helpers/defineProperty');
7
6
  require('@web3auth/auth');
8
- require('../../base/errors/index.js');
9
- require('../../base/wallet/index.js');
10
- var constants = require('../../base/connector/constants.js');
7
+ require('../base/errors/index.js');
8
+ require('../base/wallet/index.js');
9
+ var constants = require('../base/connector/constants.js');
11
10
  require('jwt-decode');
12
- require('../../base/loglevel.js');
13
- var errors = require('../../base/plugin/errors.js');
14
- var IPlugin = require('../../base/plugin/IPlugin.js');
11
+ require('../base/loglevel.js');
12
+ var errors = require('../base/plugin/errors.js');
13
+ var IPlugin = require('../base/plugin/IPlugin.js');
15
14
  require('@toruslabs/constants');
16
15
  require('@toruslabs/http-helpers');
17
- var context = require('./context.js');
16
+ var useWeb3AuthInner = require('./composables/useWeb3AuthInner.js');
17
+ var WalletServicesContext = require('./context/WalletServicesContext.js');
18
18
 
19
- const WalletServicesProvider = vue.defineComponent({
20
- name: "WalletServicesProvider",
19
+ const WalletServicesInnerProvider = vue.defineComponent({
20
+ name: "WalletServicesInnerProvider",
21
21
  setup() {
22
- const web3AuthContext = vue.inject(index.Web3AuthContextKey);
22
+ const web3AuthContext = useWeb3AuthInner.useWeb3AuthInner();
23
23
  if (!web3AuthContext) throw errors.WalletServicesPluginError.fromCode(1000, "`WalletServicesProvider` must be wrapped by `Web3AuthProvider`");
24
24
  const {
25
25
  getPlugin,
26
26
  isInitialized,
27
27
  isConnected
28
28
  } = web3AuthContext;
29
- const walletServicesPlugin = vue.ref(null);
30
- const isPluginConnected = vue.ref(false);
29
+ const walletServicesPlugin = vue.shallowRef(null);
30
+ const ready = vue.ref(false);
31
+ const connecting = vue.ref(false);
31
32
  vue.watch(isInitialized, newIsInitialized => {
32
33
  if (newIsInitialized) {
33
34
  const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
@@ -40,53 +41,35 @@ const WalletServicesProvider = vue.defineComponent({
40
41
  const plugin = getPlugin(IPlugin.EVM_PLUGINS.WALLET_SERVICES);
41
42
  if (!walletServicesPlugin.value) walletServicesPlugin.value = plugin;
42
43
  // when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
43
- if (((_walletServicesPlugin = walletServicesPlugin.value) === null || _walletServicesPlugin === void 0 ? void 0 : _walletServicesPlugin.status) === constants.CONNECTOR_STATUS.CONNECTED) isPluginConnected.value = true;
44
+ if (((_walletServicesPlugin = walletServicesPlugin.value) === null || _walletServicesPlugin === void 0 ? void 0 : _walletServicesPlugin.status) === constants.CONNECTOR_STATUS.CONNECTED) ready.value = true;
44
45
  }
45
46
  });
46
47
  vue.watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
47
48
  const connectedListener = () => {
48
- isPluginConnected.value = true;
49
+ ready.value = true;
49
50
  };
50
51
  const disconnectedListener = () => {
51
- isPluginConnected.value = false;
52
+ ready.value = false;
53
+ };
54
+ const connectingListener = () => {
55
+ connecting.value = true;
52
56
  };
53
57
  // unregister previous listeners
54
58
  if (prevWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
55
59
  prevWalletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
56
60
  prevWalletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
61
+ prevWalletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
57
62
  }
58
63
  if (newWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
59
64
  newWalletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
60
65
  newWalletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
66
+ newWalletServicesPlugin.on(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
61
67
  }
62
68
  });
63
- const showWalletConnectScanner = async showWalletConnectScannerParams => {
64
- if (!walletServicesPlugin.value) throw errors.WalletServicesPluginError.notInitialized();
65
- if (!isPluginConnected.value) throw errors.WalletServicesPluginError.walletPluginNotConnected();
66
- return walletServicesPlugin.value.showWalletConnectScanner(showWalletConnectScannerParams);
67
- };
68
- const showWalletUI = async showWalletUiParams => {
69
- if (!walletServicesPlugin.value) throw errors.WalletServicesPluginError.notInitialized();
70
- if (!isPluginConnected.value) throw errors.WalletServicesPluginError.walletPluginNotConnected();
71
- return walletServicesPlugin.value.showWalletUi(showWalletUiParams);
72
- };
73
- const showCheckout = async showCheckoutParams => {
74
- if (!walletServicesPlugin.value) throw errors.WalletServicesPluginError.notInitialized();
75
- if (!isPluginConnected.value) throw errors.WalletServicesPluginError.walletPluginNotConnected();
76
- return walletServicesPlugin.value.showCheckout(showCheckoutParams);
77
- };
78
- const showSwap = async showSwapParams => {
79
- if (!walletServicesPlugin.value) throw errors.WalletServicesPluginError.notInitialized();
80
- if (!isPluginConnected.value) throw errors.WalletServicesPluginError.walletPluginNotConnected();
81
- return walletServicesPlugin.value.showSwap(showSwapParams);
82
- };
83
- vue.provide(context.WalletServicesContextKey, {
69
+ vue.provide(WalletServicesContext.WalletServicesContextKey, {
84
70
  plugin: walletServicesPlugin,
85
- isPluginConnected,
86
- showWalletConnectScanner,
87
- showCheckout,
88
- showWalletUI,
89
- showSwap
71
+ ready,
72
+ connecting
90
73
  });
91
74
  },
92
75
  render() {
@@ -95,4 +78,4 @@ const WalletServicesProvider = vue.defineComponent({
95
78
  }
96
79
  });
97
80
 
98
- exports.WalletServicesProvider = WalletServicesProvider;
81
+ exports.WalletServicesInnerProvider = WalletServicesInnerProvider;