@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.
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +4 -2
- package/dist/lib.cjs/connectors/coinbase-connector/index.js +7 -0
- package/dist/lib.cjs/index.js +0 -2
- package/dist/lib.cjs/react/solana/hooks/useSignAndSendTransaction.js +35 -0
- package/dist/lib.cjs/react/solana/hooks/useSignMessage.js +36 -0
- package/dist/lib.cjs/react/solana/hooks/useSignTransaction.js +34 -0
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +52 -0
- package/dist/lib.cjs/react/solana/index.js +13 -0
- package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/index.d.ts +0 -1
- package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +9 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +14 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +6 -0
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +13 -0
- package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
- package/dist/lib.cjs/types/vue/{wallet-services-plugin/context.d.ts → context/WalletServicesContext.d.ts} +2 -2
- package/dist/lib.cjs/types/vue/context/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/index.d.ts +4 -2
- package/dist/lib.cjs/types/vue/interfaces.d.ts +30 -0
- package/dist/lib.cjs/vue/{wallet-services-plugin/WalletServicesProvider.js → WalletServicesInnerProvider.js} +26 -43
- package/dist/lib.cjs/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +32 -87
- package/dist/lib.cjs/vue/composables/useCheckout.js +45 -0
- package/dist/lib.cjs/vue/composables/useEnableMFA.js +43 -0
- package/dist/lib.cjs/vue/composables/useIdentityToken.js +55 -0
- package/dist/lib.cjs/vue/composables/useManageMFA.js +43 -0
- package/dist/lib.cjs/vue/composables/useSwap.js +45 -0
- package/dist/lib.cjs/vue/composables/useSwitchChain.js +43 -0
- package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +45 -0
- package/dist/lib.cjs/vue/composables/useWalletServicesPlugin.js +12 -0
- package/dist/lib.cjs/vue/composables/useWalletUI.js +45 -0
- package/dist/lib.cjs/vue/composables/useWeb3Auth.js +28 -0
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +57 -0
- package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +43 -0
- package/dist/lib.cjs/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
- package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +64 -0
- package/dist/lib.cjs/vue/index.js +28 -8
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +3 -1
- package/dist/lib.esm/connectors/coinbase-connector/index.js +1 -0
- package/dist/lib.esm/index.js +0 -1
- package/dist/lib.esm/react/solana/hooks/useSignAndSendTransaction.js +33 -0
- package/dist/lib.esm/react/solana/hooks/useSignMessage.js +34 -0
- package/dist/lib.esm/react/solana/hooks/useSignTransaction.js +32 -0
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +50 -0
- package/dist/lib.esm/react/solana/index.js +4 -0
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +79 -0
- package/dist/lib.esm/vue/{no-modal/Web3AuthProvider.js → Web3AuthProvider.js} +32 -87
- package/dist/lib.esm/vue/composables/useCheckout.js +43 -0
- package/dist/lib.esm/vue/composables/useEnableMFA.js +41 -0
- package/dist/lib.esm/vue/composables/useIdentityToken.js +53 -0
- package/dist/lib.esm/vue/composables/useManageMFA.js +41 -0
- package/dist/lib.esm/vue/composables/useSwap.js +43 -0
- package/dist/lib.esm/vue/composables/useSwitchChain.js +41 -0
- package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +43 -0
- package/dist/lib.esm/vue/composables/useWalletServicesPlugin.js +10 -0
- package/dist/lib.esm/vue/composables/useWalletUI.js +43 -0
- package/dist/lib.esm/vue/composables/useWeb3Auth.js +26 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +55 -0
- package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +41 -0
- package/dist/lib.esm/vue/{no-modal/composables/useWeb3Auth.js → composables/useWeb3AuthInner.js} +9 -9
- package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +62 -0
- package/dist/lib.esm/vue/index.js +15 -5
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +4 -0
- package/package.json +27 -11
- package/dist/lib.cjs/types/vue/no-modal/composables/index.d.ts +0 -1
- package/dist/lib.cjs/types/vue/no-modal/composables/useWeb3Auth.d.ts +0 -2
- package/dist/lib.cjs/types/vue/no-modal/index.d.ts +0 -3
- package/dist/lib.cjs/types/vue/no-modal/interfaces.d.ts +0 -39
- package/dist/lib.cjs/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -1
- package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/index.d.ts +0 -1
- package/dist/lib.cjs/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -2
- package/dist/lib.cjs/types/vue/wallet-services-plugin/index.d.ts +0 -4
- package/dist/lib.cjs/types/vue/wallet-services-plugin/interfaces.d.ts +0 -13
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -24
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +0 -96
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +0 -22
- /package/dist/lib.cjs/types/vue/{no-modal/Web3AuthProvider.d.ts → Web3AuthProvider.d.ts} +0 -0
- /package/dist/lib.cjs/vue/{wallet-services-plugin/context.js → context/WalletServicesContext.js} +0 -0
- /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
|
|
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
|
},
|
package/dist/lib.cjs/index.js
CHANGED
|
@@ -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,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 @@
|
|
|
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,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,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,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 {
|
|
3
|
-
export declare const WalletServicesContextKey: InjectionKey<
|
|
2
|
+
import { IWalletServicesInnerContext } from "../interfaces";
|
|
3
|
+
export declare const WalletServicesContextKey: InjectionKey<IWalletServicesInnerContext>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./WalletServicesContext";
|
|
@@ -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('
|
|
9
|
-
require('
|
|
10
|
-
var constants = require('
|
|
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('
|
|
13
|
-
var errors = require('
|
|
14
|
-
var IPlugin = require('
|
|
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
|
|
16
|
+
var useWeb3AuthInner = require('./composables/useWeb3AuthInner.js');
|
|
17
|
+
var WalletServicesContext = require('./context/WalletServicesContext.js');
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
name: "
|
|
19
|
+
const WalletServicesInnerProvider = vue.defineComponent({
|
|
20
|
+
name: "WalletServicesInnerProvider",
|
|
21
21
|
setup() {
|
|
22
|
-
const web3AuthContext =
|
|
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.
|
|
30
|
-
const
|
|
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)
|
|
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
|
-
|
|
49
|
+
ready.value = true;
|
|
49
50
|
};
|
|
50
51
|
const disconnectedListener = () => {
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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.
|
|
81
|
+
exports.WalletServicesInnerProvider = WalletServicesInnerProvider;
|