@web3auth/no-modal 10.0.0-beta.6 → 10.0.0-beta.7
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/base/connector/baseConnector.js +2 -1
- package/dist/lib.cjs/base/errors/index.js +1 -20
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +25 -4
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +23 -6
- package/dist/lib.cjs/connectors/utils.js +10 -0
- package/dist/lib.cjs/index.js +0 -5
- package/dist/lib.cjs/noModal.js +12 -7
- package/dist/lib.cjs/providers/ethereum-mpc-provider/index.js +7 -0
- package/dist/lib.cjs/providers/xrpl-provider/index.js +9 -0
- package/dist/lib.cjs/react/hooks/useWeb3AuthConnect.js +5 -1
- package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +11 -5
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +3 -0
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +7 -4
- package/dist/lib.cjs/types/base/errors/index.d.ts +0 -1
- package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +2 -5
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
- package/dist/lib.cjs/types/noModal.d.ts +2 -1
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +1 -1
- package/dist/lib.cjs/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +1 -1
- package/dist/lib.cjs/types/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +1 -1
- package/dist/lib.cjs/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -1
- package/dist/lib.cjs/types/react/interfaces.d.ts +1 -1
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +2 -0
- package/dist/lib.cjs/types/react/wagmi/interface.d.ts +1 -1
- package/dist/lib.cjs/types/vue/interfaces.d.ts +1 -1
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +10 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +10 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
- package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +16 -0
- package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +4 -0
- package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +38 -0
- package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +36 -0
- package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +56 -0
- package/dist/lib.cjs/vue/solana/index.js +13 -0
- package/dist/lib.cjs/vue/wagmi/index.js +7 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +227 -0
- package/dist/lib.esm/base/connector/baseConnector.js +6 -1
- package/dist/lib.esm/base/errors/index.js +12 -20
- package/dist/lib.esm/base/plugin/errors.js +2 -0
- package/dist/lib.esm/base/utils.js +5 -5
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +45 -14
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -8
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -8
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +4 -11
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +4 -9
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +6 -13
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +32 -18
- package/dist/lib.esm/connectors/utils.js +14 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +8 -25
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +14 -24
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +9 -13
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -11
- package/dist/lib.esm/index.js +6 -8
- package/dist/lib.esm/noModal.js +36 -17
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +4 -1
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +3 -9
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +6 -8
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +6 -15
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -10
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +2 -0
- package/dist/lib.esm/providers/base-provider/baseProvider.js +5 -9
- package/dist/lib.esm/providers/base-provider/utils.js +3 -3
- package/dist/lib.esm/providers/ethereum-mpc-provider/index.js +1 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +4 -17
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +3 -13
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +10 -11
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +8 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +2 -15
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +5 -12
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +3 -0
- package/dist/lib.esm/providers/xrpl-provider/index.js +2 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +3 -14
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -0
- package/dist/lib.esm/react/context/WalletServicesInnerContext.js +1 -11
- package/dist/lib.esm/react/context/Web3AuthInnerContext.js +1 -11
- package/dist/lib.esm/react/hooks/useCheckout.js +1 -12
- package/dist/lib.esm/react/hooks/useSwap.js +1 -12
- package/dist/lib.esm/react/hooks/useWalletConnectScanner.js +1 -12
- package/dist/lib.esm/react/hooks/useWalletUI.js +1 -12
- package/dist/lib.esm/react/hooks/useWeb3AuthConnect.js +5 -1
- package/dist/lib.esm/react/hooks/useWeb3AuthInner.js +1 -12
- package/dist/lib.esm/react/index.js +1 -1
- package/dist/lib.esm/react/solana/hooks/useSolanaWallet.js +12 -25
- package/dist/lib.esm/react/wagmi/provider.js +5 -14
- package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -12
- package/dist/lib.esm/vue/Web3AuthProvider.js +5 -13
- package/dist/lib.esm/vue/composables/useCheckout.js +1 -12
- package/dist/lib.esm/vue/composables/useEnableMFA.js +1 -12
- package/dist/lib.esm/vue/composables/useIdentityToken.js +1 -12
- package/dist/lib.esm/vue/composables/useManageMFA.js +1 -12
- package/dist/lib.esm/vue/composables/useSwap.js +1 -12
- package/dist/lib.esm/vue/composables/useSwitchChain.js +1 -12
- package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +1 -12
- package/dist/lib.esm/vue/composables/useWalletUI.js +1 -12
- package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +5 -12
- package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +1 -12
- package/dist/lib.esm/vue/composables/useWeb3AuthInner.js +0 -11
- package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +1 -12
- package/dist/lib.esm/vue/index.js +1 -1
- package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/vue/solana/composables/useSignMessage.js +36 -0
- package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +34 -0
- package/dist/lib.esm/vue/solana/composables/useSolanaWallet.js +42 -0
- package/dist/lib.esm/vue/solana/index.js +4 -0
- package/dist/lib.esm/vue/wagmi/index.js +1 -0
- package/dist/lib.esm/vue/wagmi/provider.js +217 -0
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -24
- package/package.json +43 -4
|
@@ -22,8 +22,9 @@ class BaseConnector extends auth.SafeEventEmitter {
|
|
|
22
22
|
return this.status === constants.CONNECTOR_STATUS.CONNECTED;
|
|
23
23
|
}
|
|
24
24
|
checkConnectionRequirements() {
|
|
25
|
-
// we reconnect without killing existing
|
|
25
|
+
// we reconnect without killing existing Wallet Connect or Metamask Connect session on calling connect again.
|
|
26
26
|
if (this.name === index.WALLET_CONNECTORS.WALLET_CONNECT_V2 && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
|
|
27
|
+
if (this.name === index.WALLET_CONNECTORS.METAMASK && !this.isInjected && this.status === constants.CONNECTOR_STATUS.CONNECTING) return;
|
|
27
28
|
if (this.status === constants.CONNECTOR_STATUS.CONNECTING) throw index$1.WalletInitializationError.notReady("Already connecting");
|
|
28
29
|
if (this.status === constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.connectionError("Already connected");
|
|
29
30
|
if (this.status !== constants.CONNECTOR_STATUS.READY) throw index$1.WalletLoginError.connectionError("Wallet connector is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
|
|
@@ -3,24 +3,6 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var tsCustomError = require('ts-custom-error');
|
|
5
5
|
|
|
6
|
-
function serializeError(args) {
|
|
7
|
-
// Find first Error or create an "unknown" Error to keep stack trace.
|
|
8
|
-
const index = args.findIndex(arg => arg instanceof Error);
|
|
9
|
-
const msgIndex = args.findIndex(arg => typeof arg === "string");
|
|
10
|
-
const apiErrorIdx = args.findIndex(arg => arg && typeof arg === "object" && "status" in arg && "type" in arg);
|
|
11
|
-
let err;
|
|
12
|
-
if (apiErrorIdx !== -1) {
|
|
13
|
-
const apiError = args[apiErrorIdx];
|
|
14
|
-
err = new Error(`${apiError.status} ${apiError.type.toString()} ${apiError.statusText}`);
|
|
15
|
-
} else if (index !== -1) {
|
|
16
|
-
err = args.splice(index, 1)[0];
|
|
17
|
-
} else if (msgIndex !== -1) {
|
|
18
|
-
err = new Error(args.splice(msgIndex, 1)[0]);
|
|
19
|
-
} else {
|
|
20
|
-
err = new Error("Unknown error");
|
|
21
|
-
}
|
|
22
|
-
return [err, args];
|
|
23
|
-
}
|
|
24
6
|
class Web3AuthError extends tsCustomError.CustomError {
|
|
25
7
|
constructor(code, message, cause) {
|
|
26
8
|
// takes care of stack and proto
|
|
@@ -41,7 +23,7 @@ class Web3AuthError extends tsCustomError.CustomError {
|
|
|
41
23
|
name: this.name,
|
|
42
24
|
code: this.code,
|
|
43
25
|
message: this.message,
|
|
44
|
-
cause:
|
|
26
|
+
cause: this.cause
|
|
45
27
|
};
|
|
46
28
|
}
|
|
47
29
|
toString() {
|
|
@@ -231,4 +213,3 @@ exports.WalletLoginError = WalletLoginError;
|
|
|
231
213
|
exports.WalletOperationsError = WalletOperationsError;
|
|
232
214
|
exports.WalletProviderError = WalletProviderError;
|
|
233
215
|
exports.Web3AuthError = Web3AuthError;
|
|
234
|
-
exports.serializeError = serializeError;
|
|
@@ -17,6 +17,7 @@ require('../../base/plugin/IPlugin.js');
|
|
|
17
17
|
require('@toruslabs/constants');
|
|
18
18
|
require('@toruslabs/http-helpers');
|
|
19
19
|
var index = require('../../base/wallet/index.js');
|
|
20
|
+
var utils = require('../utils.js');
|
|
20
21
|
|
|
21
22
|
class AuthConnector extends baseConnector.BaseConnector {
|
|
22
23
|
constructor(params) {
|
|
@@ -309,6 +310,9 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
309
310
|
} = chainConfig;
|
|
310
311
|
// if not logged in then login
|
|
311
312
|
const keyAvailable = chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 || chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA ? (_this$authInstance = this.authInstance) === null || _this$authInstance === void 0 ? void 0 : _this$authInstance.sessionId : this._getFinalPrivKey();
|
|
313
|
+
if (params.id_token) params.extraLoginOptions = _objectSpread(_objectSpread({}, params.extraLoginOptions), {}, {
|
|
314
|
+
id_token: params.id_token
|
|
315
|
+
});
|
|
312
316
|
if (!keyAvailable || (_params$extraLoginOpt = params.extraLoginOptions) !== null && _params$extraLoginOpt !== void 0 && _params$extraLoginOpt.id_token) {
|
|
313
317
|
var _params$extraLoginOpt2;
|
|
314
318
|
// always use "other" curve to return token with all keys encoded so wallet service can switch between evm and solana namespace
|
|
@@ -384,7 +388,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
384
388
|
const popupParams = {
|
|
385
389
|
authConnection: params.authConnection,
|
|
386
390
|
authConnectionId: providerConfig.authConnectionId,
|
|
387
|
-
clientId: providerConfig.clientId,
|
|
391
|
+
clientId: providerConfig.clientId || jwtParams.client_id,
|
|
388
392
|
groupedAuthConnectionId: providerConfig.groupedAuthConnectionId,
|
|
389
393
|
redirect_uri: `${this.authInstance.baseUrl}/auth`,
|
|
390
394
|
jwtParams,
|
|
@@ -444,7 +448,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
444
448
|
});
|
|
445
449
|
}
|
|
446
450
|
connectWithJwtLogin(params) {
|
|
447
|
-
var _params$extraLoginOpt5;
|
|
451
|
+
var _params$extraLoginOpt5, _params$extraLoginOpt7;
|
|
448
452
|
const loginConfig = this.getOAuthProviderConfig({
|
|
449
453
|
authConnection: params.authConnection,
|
|
450
454
|
authConnectionId: params.authConnectionId,
|
|
@@ -461,8 +465,25 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
461
465
|
});
|
|
462
466
|
}
|
|
463
467
|
const loginParams = baseControllers.cloneDeep(params);
|
|
464
|
-
|
|
465
|
-
|
|
468
|
+
const finalExtraLoginOptions = _objectSpread(_objectSpread({}, (loginConfig === null || loginConfig === void 0 ? void 0 : loginConfig.jwtParameters) || {}), params.extraLoginOptions || {});
|
|
469
|
+
let finalUserId;
|
|
470
|
+
if (params.login_hint || (_params$extraLoginOpt5 = params.extraLoginOptions) !== null && _params$extraLoginOpt5 !== void 0 && _params$extraLoginOpt5.login_hint) {
|
|
471
|
+
var _params$extraLoginOpt6;
|
|
472
|
+
finalUserId = params.login_hint || ((_params$extraLoginOpt6 = params.extraLoginOptions) === null || _params$extraLoginOpt6 === void 0 ? void 0 : _params$extraLoginOpt6.login_hint);
|
|
473
|
+
} else if ((_params$extraLoginOpt7 = params.extraLoginOptions) !== null && _params$extraLoginOpt7 !== void 0 && _params$extraLoginOpt7.id_token) {
|
|
474
|
+
if (typeof finalExtraLoginOptions.isUserIdCaseSensitive === "undefined") {
|
|
475
|
+
throw index$1.WalletInitializationError.invalidParams(`isUserIdCaseSensitive is required for this connection: ${finalExtraLoginOptions.authConnection}`);
|
|
476
|
+
}
|
|
477
|
+
const {
|
|
478
|
+
payload
|
|
479
|
+
} = utils.parseToken(params.extraLoginOptions.id_token);
|
|
480
|
+
finalUserId = auth.getUserId(payload, loginParams.authConnection, finalExtraLoginOptions.userIdField, finalExtraLoginOptions.isUserIdCaseSensitive);
|
|
481
|
+
} else {
|
|
482
|
+
throw index$1.WalletLoginError.connectionError("Invalid login hint or id_token");
|
|
483
|
+
}
|
|
484
|
+
// Adds the login_hint to the extraLoginOptions.
|
|
485
|
+
loginParams.extraLoginOptions = _objectSpread(_objectSpread({}, finalExtraLoginOptions), {}, {
|
|
486
|
+
login_hint: finalUserId
|
|
466
487
|
});
|
|
467
488
|
delete loginParams.chainId;
|
|
468
489
|
return this.authInstance.postLoginInitiatedMessage(loginParams);
|
|
@@ -53,11 +53,18 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
53
53
|
url: window.location.origin,
|
|
54
54
|
iconUrl
|
|
55
55
|
};
|
|
56
|
-
//
|
|
56
|
+
// initialize the MetaMask SDK
|
|
57
57
|
const metamaskOptions = deepmerge(this.metamaskOptions || {}, {
|
|
58
58
|
dappMetadata: appMetadata
|
|
59
59
|
});
|
|
60
60
|
this.metamaskSDK = new sdk.MetaMaskSDK(metamaskOptions);
|
|
61
|
+
// Work around: in case there is an existing SDK instance in memory (window.mmsdk exists), it won't initialize the new SDK instance again
|
|
62
|
+
// and return the existing instance instead of undefined (this is an assumption, not sure if it's a bug or feature of the MetaMask SDK)
|
|
63
|
+
const initResult = await this.metamaskSDK.init();
|
|
64
|
+
if (initResult) {
|
|
65
|
+
this.metamaskSDK = initResult;
|
|
66
|
+
}
|
|
67
|
+
this.isInjected = this.metamaskSDK.isExtensionActive();
|
|
61
68
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
62
69
|
this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.METAMASK);
|
|
63
70
|
try {
|
|
@@ -78,12 +85,22 @@ class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
|
|
|
78
85
|
if (!this.metamaskSDK) throw index$1.WalletLoginError.notConnectedError("Connector is not initialized");
|
|
79
86
|
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
80
87
|
if (!chainConfig) throw index$1.WalletLoginError.connectionError("Chain config is not available");
|
|
81
|
-
this.status = constants.CONNECTOR_STATUS.CONNECTING;
|
|
82
|
-
this.emit(constants.CONNECTOR_EVENTS.CONNECTING, {
|
|
83
|
-
connector: index.WALLET_CONNECTORS.METAMASK
|
|
84
|
-
});
|
|
85
88
|
try {
|
|
86
|
-
|
|
89
|
+
if (this.status !== constants.CONNECTOR_STATUS.CONNECTING) {
|
|
90
|
+
this.status = constants.CONNECTOR_STATUS.CONNECTING;
|
|
91
|
+
this.emit(constants.CONNECTOR_EVENTS.CONNECTING, {
|
|
92
|
+
connector: index.WALLET_CONNECTORS.METAMASK
|
|
93
|
+
});
|
|
94
|
+
if (!this.metamaskSDK.isExtensionActive() && this.metamaskOptions.headless) {
|
|
95
|
+
// when metamask is not injected and headless is true, broadcast the uri to the login modal
|
|
96
|
+
this.metamaskSDK.getProvider().on("display_uri", uri => {
|
|
97
|
+
this.updateConnectorData({
|
|
98
|
+
uri
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
await this.metamaskSDK.connect();
|
|
103
|
+
}
|
|
87
104
|
this.metamaskProvider = this.metamaskSDK.getProvider();
|
|
88
105
|
if (!this.metamaskProvider) throw index$1.WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
89
106
|
// switch chain if not connected to the right chain
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var auth = require('@web3auth/auth');
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Extracts a name for the site from the DOM
|
|
5
7
|
*/
|
|
@@ -56,6 +58,14 @@ async function getSiteIcon(window) {
|
|
|
56
58
|
}
|
|
57
59
|
return null;
|
|
58
60
|
}
|
|
61
|
+
function parseToken(token) {
|
|
62
|
+
const [header, payload] = token.split(".");
|
|
63
|
+
return {
|
|
64
|
+
header: JSON.parse(auth.safeatob(header)),
|
|
65
|
+
payload: JSON.parse(auth.safeatob(payload))
|
|
66
|
+
};
|
|
67
|
+
}
|
|
59
68
|
|
|
60
69
|
exports.getSiteIcon = getSiteIcon;
|
|
61
70
|
exports.getSiteName = getSiteName;
|
|
71
|
+
exports.parseToken = parseToken;
|
package/dist/lib.cjs/index.js
CHANGED
|
@@ -47,8 +47,6 @@ var walletStandardProvider = require('./providers/solana-provider/providers/inje
|
|
|
47
47
|
var JrpcClient = require('./providers/solana-provider/rpc/JrpcClient.js');
|
|
48
48
|
var solanaRpcMiddlewares = require('./providers/solana-provider/rpc/solanaRpcMiddlewares.js');
|
|
49
49
|
var solanaWallet = require('./providers/solana-provider/solanaWallet.js');
|
|
50
|
-
var xrplPrivateKeyProvider = require('./providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js');
|
|
51
|
-
var xrplWalletUtils = require('./providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js');
|
|
52
50
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
53
51
|
var app = require('@wallet-standard/app');
|
|
54
52
|
var walletStandardConnector = require('./connectors/injected-solana-connector/walletStandardConnector.js');
|
|
@@ -99,7 +97,6 @@ exports.WalletLoginError = index$1.WalletLoginError;
|
|
|
99
97
|
exports.WalletOperationsError = index$1.WalletOperationsError;
|
|
100
98
|
exports.WalletProviderError = index$1.WalletProviderError;
|
|
101
99
|
exports.Web3AuthError = index$1.Web3AuthError;
|
|
102
|
-
exports.serializeError = index$1.serializeError;
|
|
103
100
|
exports.log = loglevel.log;
|
|
104
101
|
exports.NFTCheckoutPluginError = errors.NFTCheckoutPluginError;
|
|
105
102
|
exports.WalletServicesPluginError = errors.WalletServicesPluginError;
|
|
@@ -234,8 +231,6 @@ exports.createSolanaAccountMiddleware = solanaRpcMiddlewares.createSolanaAccount
|
|
|
234
231
|
exports.createSolanaChainSwitchMiddleware = solanaRpcMiddlewares.createSolanaChainSwitchMiddleware;
|
|
235
232
|
exports.createSolanaMiddleware = solanaRpcMiddlewares.createSolanaMiddleware;
|
|
236
233
|
exports.SolanaWallet = solanaWallet.SolanaWallet;
|
|
237
|
-
exports.XrplPrivateKeyProvider = xrplPrivateKeyProvider.XrplPrivateKeyProvider;
|
|
238
|
-
exports.getProviderHandlers = xrplWalletUtils.getProviderHandlers;
|
|
239
234
|
Object.defineProperty(exports, "CHAIN_NAMESPACES", {
|
|
240
235
|
enumerable: true,
|
|
241
236
|
get: function () { return baseControllers.CHAIN_NAMESPACES; }
|
package/dist/lib.cjs/noModal.js
CHANGED
|
@@ -5,7 +5,6 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var auth = require('@web3auth/auth');
|
|
7
7
|
var deepmerge = require('deepmerge');
|
|
8
|
-
var authConnector = require('./connectors/auth-connector/authConnector.js');
|
|
9
8
|
var IChainInterface = require('./base/chain/IChainInterface.js');
|
|
10
9
|
var index = require('./base/errors/index.js');
|
|
11
10
|
var index$1 = require('./base/wallet/index.js');
|
|
@@ -16,12 +15,13 @@ var loglevel = require('./base/loglevel.js');
|
|
|
16
15
|
require('./base/plugin/errors.js');
|
|
17
16
|
var IPlugin = require('./base/plugin/IPlugin.js');
|
|
18
17
|
var utils = require('./base/utils.js');
|
|
18
|
+
var authConnector = require('./connectors/auth-connector/authConnector.js');
|
|
19
|
+
var metamaskConnector = require('./connectors/metamask-connector/metamaskConnector.js');
|
|
20
|
+
var plugin = require('./plugins/wallet-services-plugin/plugin.js');
|
|
19
21
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
20
22
|
require('./providers/base-provider/utils.js');
|
|
21
23
|
var CommonJRPCProvider = require('./providers/base-provider/CommonJRPCProvider.js');
|
|
22
24
|
require('./providers/base-provider/commonPrivateKeyProvider.js');
|
|
23
|
-
var metamaskConnector = require('./connectors/metamask-connector/metamaskConnector.js');
|
|
24
|
-
var plugin = require('./plugins/wallet-services-plugin/plugin.js');
|
|
25
25
|
|
|
26
26
|
const _excluded = ["walletScope"];
|
|
27
27
|
const CONNECTOR_CACHE_KEY = "Web3Auth-cachedConnector";
|
|
@@ -79,8 +79,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
79
79
|
authBuildEnv: this.coreOptions.authBuildEnv
|
|
80
80
|
});
|
|
81
81
|
} catch (e) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
const error = await auth.serializeError(e);
|
|
83
|
+
loglevel.log.error("Failed to fetch project configurations", error);
|
|
84
|
+
throw index.WalletInitializationError.notReady("failed to fetch project configurations", error);
|
|
84
85
|
}
|
|
85
86
|
// init config
|
|
86
87
|
this.initAccountAbstractionConfig(projectConfig);
|
|
@@ -316,7 +317,8 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
316
317
|
}
|
|
317
318
|
}
|
|
318
319
|
async loadConnectors({
|
|
319
|
-
projectConfig
|
|
320
|
+
projectConfig,
|
|
321
|
+
modalMode
|
|
320
322
|
}) {
|
|
321
323
|
var _this$coreOptions$mul;
|
|
322
324
|
// always add auth connector
|
|
@@ -361,7 +363,10 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
361
363
|
}
|
|
362
364
|
}
|
|
363
365
|
// it's safe to add it here as if there is a MetaMask injected provider, this won't override it
|
|
364
|
-
|
|
366
|
+
// only set headless to true if modal SDK is used, otherwise just use the modal from native Metamask SDK
|
|
367
|
+
connectorFns.push(metamaskConnector.metaMaskConnector(modalMode ? {
|
|
368
|
+
headless: true
|
|
369
|
+
} : undefined));
|
|
365
370
|
// add WalletConnectV2 connector if external wallets are enabled
|
|
366
371
|
if (isExternalWalletEnabled && (chainNamespaces.has(baseControllers.CHAIN_NAMESPACES.SOLANA) || chainNamespaces.has(baseControllers.CHAIN_NAMESPACES.EIP155))) {
|
|
367
372
|
const {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var xrplPrivateKeyProvider = require('./providers/privateKeyProviders/xrplPrivateKeyProvider.js');
|
|
4
|
+
var xrplWalletUtils = require('./providers/privateKeyProviders/xrplWalletUtils.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
exports.XrplPrivateKeyProvider = xrplPrivateKeyProvider.XrplPrivateKeyProvider;
|
|
9
|
+
exports.getProviderHandlers = xrplWalletUtils.getProviderHandlers;
|
|
@@ -13,10 +13,14 @@ const useWeb3AuthConnect = () => {
|
|
|
13
13
|
const [error, setError] = react.useState(null);
|
|
14
14
|
const [connectorName, setConnectorName] = react.useState(null);
|
|
15
15
|
react.useEffect(() => {
|
|
16
|
+
if (!web3Auth) return;
|
|
16
17
|
if (!isConnected && connectorName) {
|
|
17
18
|
setConnectorName(null);
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
if (isConnected && !connectorName) {
|
|
21
|
+
setConnectorName(web3Auth.connectedConnectorName);
|
|
22
|
+
}
|
|
23
|
+
}, [isConnected, connectorName, web3Auth]);
|
|
20
24
|
const connect = react.useCallback(async (connector, params) => {
|
|
21
25
|
setLoading(true);
|
|
22
26
|
setError(null);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var web3_js = require('@solana/web3.js');
|
|
3
4
|
var react = require('react');
|
|
4
5
|
require('@solana/wallet-standard-features');
|
|
5
|
-
require('@solana/web3.js');
|
|
6
6
|
require('@toruslabs/bs58');
|
|
7
7
|
require('@toruslabs/base-controllers');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
@@ -26,26 +26,32 @@ var useWeb3Auth = require('../../hooks/useWeb3Auth.js');
|
|
|
26
26
|
|
|
27
27
|
const useSolanaWallet = () => {
|
|
28
28
|
const {
|
|
29
|
-
provider
|
|
29
|
+
provider,
|
|
30
|
+
web3Auth
|
|
30
31
|
} = useWeb3Auth.useWeb3Auth();
|
|
31
32
|
const [accounts, setAccounts] = react.useState(null);
|
|
32
33
|
const solanaWallet$1 = react.useMemo(() => {
|
|
33
34
|
if (!provider) return null;
|
|
34
35
|
return new solanaWallet.SolanaWallet(provider);
|
|
35
36
|
}, [provider]);
|
|
37
|
+
const connection = react.useMemo(() => {
|
|
38
|
+
if (!web3Auth || !provider) return null;
|
|
39
|
+
return new web3_js.Connection(web3Auth.currentChain.rpcTarget);
|
|
40
|
+
}, [web3Auth, provider]);
|
|
36
41
|
react.useEffect(() => {
|
|
37
|
-
const
|
|
42
|
+
const init = async () => {
|
|
38
43
|
if (!solanaWallet$1) return;
|
|
39
44
|
const accounts = await solanaWallet$1.requestAccounts();
|
|
40
45
|
if ((accounts === null || accounts === void 0 ? void 0 : accounts.length) > 0) {
|
|
41
46
|
setAccounts(accounts);
|
|
42
47
|
}
|
|
43
48
|
};
|
|
44
|
-
if (solanaWallet$1)
|
|
49
|
+
if (solanaWallet$1) init();
|
|
45
50
|
}, [solanaWallet$1]);
|
|
46
51
|
return {
|
|
47
52
|
solanaWallet: solanaWallet$1,
|
|
48
|
-
accounts
|
|
53
|
+
accounts,
|
|
54
|
+
connection
|
|
49
55
|
};
|
|
50
56
|
};
|
|
51
57
|
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { type AccountAbstractionMultiChainConfig } from "@toruslabs/ethereum-controllers";
|
|
2
|
-
import { type BUILD_ENV_TYPE, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
|
|
2
|
+
import { type BUILD_ENV_TYPE, type LoginParams, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
|
|
3
3
|
import { type WsEmbedParams } from "@web3auth/ws-embed";
|
|
4
|
-
import type
|
|
5
|
-
import { ChainNamespaceType, type CustomChainConfig } from "../chain/IChainInterface";
|
|
4
|
+
import { type ChainNamespaceType, type CustomChainConfig } from "../chain/IChainInterface";
|
|
6
5
|
import { CONNECTOR_EVENTS, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, type IProvider, type UserAuthInfo, type UserInfo, type WEB3AUTH_NETWORK_TYPE } from "../connector";
|
|
7
|
-
import { type IPlugin, PluginFn } from "../plugin";
|
|
6
|
+
import { type IPlugin, type PluginFn } from "../plugin";
|
|
8
7
|
import { type WALLET_CONNECTOR_TYPE, WALLET_CONNECTORS } from "../wallet";
|
|
8
|
+
export type AuthLoginParams = LoginParams & {
|
|
9
|
+
login_hint?: string;
|
|
10
|
+
id_token?: string;
|
|
11
|
+
};
|
|
9
12
|
export type WalletServicesConfig = Omit<WsEmbedParams, "buildEnv" | "enableLogging" | "chainId" | "chains" | "confirmationStrategy" | "accountAbstractionConfig"> & {
|
|
10
13
|
/**
|
|
11
14
|
* Determines how to show confirmation screens
|
|
@@ -8,7 +8,6 @@ export interface IWeb3AuthError extends CustomError {
|
|
|
8
8
|
export type ErrorCodes = {
|
|
9
9
|
[key: number]: string;
|
|
10
10
|
};
|
|
11
|
-
export declare function serializeError(args: unknown[]): [Error, unknown[]];
|
|
12
11
|
export declare abstract class Web3AuthError extends CustomError implements IWeb3AuthError {
|
|
13
12
|
code: number;
|
|
14
13
|
message: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SafeEventEmitter, WhiteLabelData } from "@web3auth/auth";
|
|
2
2
|
import { type IWeb3AuthCore } from "../core/IWeb3Auth";
|
|
3
|
-
import { WALLET_CONNECTOR_TYPE } from "../wallet";
|
|
3
|
+
import { type WALLET_CONNECTOR_TYPE } from "../wallet";
|
|
4
4
|
export declare const PLUGIN_NAMESPACES: {
|
|
5
5
|
readonly MULTICHAIN: "multichain";
|
|
6
6
|
readonly EIP155: "eip155";
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { Auth
|
|
1
|
+
import { Auth } from "@web3auth/auth";
|
|
2
2
|
import { type default as WsEmbed } from "@web3auth/ws-embed";
|
|
3
|
-
import { BaseConnector, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, IProvider, UserInfo, WALLET_CONNECTOR_TYPE } from "../../base";
|
|
3
|
+
import { AuthLoginParams, BaseConnector, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorFn, ConnectorInitOptions, ConnectorNamespaceType, IProvider, UserInfo, WALLET_CONNECTOR_TYPE } from "../../base";
|
|
4
4
|
import type { AuthConnectorOptions, PrivateKeyProvider } from "./interface";
|
|
5
|
-
export type AuthLoginParams = LoginParams & {
|
|
6
|
-
login_hint?: string;
|
|
7
|
-
};
|
|
8
5
|
declare class AuthConnector extends BaseConnector<AuthLoginParams> {
|
|
9
6
|
readonly name: WALLET_CONNECTOR_TYPE;
|
|
10
7
|
readonly connectorNamespace: ConnectorNamespaceType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type MetaMaskSDKOptions } from "@metamask/sdk";
|
|
2
2
|
import { type BaseConnectorSettings, type ConnectorFn } from "../../base";
|
|
3
3
|
export interface MetaMaskConnectorOptions extends BaseConnectorSettings {
|
|
4
|
-
connectorSettings?: MetaMaskSDKOptions
|
|
4
|
+
connectorSettings?: Partial<MetaMaskSDKOptions>;
|
|
5
5
|
}
|
|
6
|
-
export declare const metaMaskConnector: (params?: MetaMaskSDKOptions) => ConnectorFn;
|
|
6
|
+
export declare const metaMaskConnector: (params?: Partial<MetaMaskSDKOptions>) => ConnectorFn;
|
|
@@ -6,3 +6,11 @@ export declare const getSiteName: (window: Window) => string;
|
|
|
6
6
|
* Extracts an icon for the site from the DOM
|
|
7
7
|
*/
|
|
8
8
|
export declare function getSiteIcon(window: Window): Promise<string | null>;
|
|
9
|
+
export declare function parseToken<T>(token: string): {
|
|
10
|
+
header: {
|
|
11
|
+
alg: string;
|
|
12
|
+
typ: string;
|
|
13
|
+
kid?: string;
|
|
14
|
+
};
|
|
15
|
+
payload: T;
|
|
16
|
+
};
|
|
@@ -44,8 +44,9 @@ export declare class Web3AuthNoModal extends SafeEventEmitter<Web3AuthNoModalEve
|
|
|
44
44
|
protected initCachedConnectorAndChainId(): void;
|
|
45
45
|
protected setupCommonJRPCProvider(): Promise<void>;
|
|
46
46
|
protected setupConnector(connector: IConnector<unknown>): Promise<void>;
|
|
47
|
-
protected loadConnectors({ projectConfig }: {
|
|
47
|
+
protected loadConnectors({ projectConfig, modalMode }: {
|
|
48
48
|
projectConfig: ProjectConfig;
|
|
49
|
+
modalMode?: boolean;
|
|
49
50
|
}): Promise<void>;
|
|
50
51
|
protected initPlugins(): Promise<void>;
|
|
51
52
|
protected setConnectors(connectors: IConnector<unknown>[]): void;
|
|
@@ -2,7 +2,7 @@ import { type AccountAbstractionMultiChainConfig, type BundlerConfig, type ISmar
|
|
|
2
2
|
import { type Client } from "viem";
|
|
3
3
|
import { type BundlerClient, type PaymasterClient, type SmartAccount } from "viem/account-abstraction";
|
|
4
4
|
import { type CustomChainConfig, type IProvider } from "../../../base";
|
|
5
|
-
import { BaseProvider, type BaseProviderConfig, type BaseProviderState } from "
|
|
5
|
+
import { BaseProvider, type BaseProviderConfig, type BaseProviderState } from "../../../providers/base-provider";
|
|
6
6
|
interface AccountAbstractionProviderConfig extends BaseProviderConfig {
|
|
7
7
|
smartAccountInit: ISmartAccount;
|
|
8
8
|
smartAccountChainsConfig: AccountAbstractionMultiChainConfig["chains"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CustomChainConfig } from "../../../../base";
|
|
2
|
-
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "
|
|
2
|
+
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "../../../../providers/base-provider";
|
|
3
3
|
interface ProviderParams {
|
|
4
4
|
sign: (msgHash: Buffer, rawMsg?: Buffer) => Promise<{
|
|
5
5
|
v: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JRPCMiddleware } from "@web3auth/auth";
|
|
2
|
-
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "
|
|
2
|
+
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "../../../../../providers/base-provider";
|
|
3
3
|
import { ISolanaProviderHandlers } from "../../../rpc";
|
|
4
4
|
export declare abstract class BaseInjectedProvider<P> extends BaseProvider<BaseProviderConfig, BaseProviderState, P> {
|
|
5
5
|
constructor({ config, state }: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CustomChainConfig } from "../../../../base";
|
|
2
|
-
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "
|
|
2
|
+
import { BaseProvider, BaseProviderConfig, BaseProviderState } from "../../../../providers/base-provider";
|
|
3
3
|
export type XrplPrivKeyProviderConfig = BaseProviderConfig;
|
|
4
4
|
export interface XrplPrivKeyProviderState extends BaseProviderState {
|
|
5
5
|
privateKey?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ConnectorFn, IBaseWeb3AuthHookContext, IWeb3AuthCoreOptions, PluginFn } from "../base";
|
|
2
|
-
import type { WalletServicesPluginType } from "../plugins/wallet-services-plugin";
|
|
3
2
|
import { Web3AuthNoModal } from "../noModal";
|
|
3
|
+
import type { WalletServicesPluginType } from "../plugins/wallet-services-plugin";
|
|
4
4
|
export type Web3AuthContextConfig = {
|
|
5
5
|
web3AuthOptions: IWeb3AuthCoreOptions;
|
|
6
6
|
connectors?: ConnectorFn[];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { Connection } from "@solana/web3.js";
|
|
1
2
|
import { SolanaWallet } from "../../../providers/solana-provider";
|
|
2
3
|
export type IUseSolanaWallet = {
|
|
3
4
|
accounts: string[] | null;
|
|
4
5
|
solanaWallet: SolanaWallet | null;
|
|
6
|
+
connection: Connection | null;
|
|
5
7
|
};
|
|
6
8
|
export declare const useSolanaWallet: () => IUseSolanaWallet;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { CreateConfigParameters, WagmiProviderProps as WagmiProviderPropsBase } from "wagmi";
|
|
2
2
|
export type WagmiProviderProps = Omit<WagmiProviderPropsBase, "config"> & {
|
|
3
|
-
config?: CreateConfigParameters
|
|
3
|
+
config?: Omit<CreateConfigParameters, "chains" | "connectors" | "transports" | "multiInjectedProviderDiscovery" | "client">;
|
|
4
4
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Ref, ShallowRef } from "vue";
|
|
2
2
|
import type { CONNECTOR_STATUS_TYPE, IPlugin, IProvider, IWeb3AuthCoreOptions } from "../base";
|
|
3
|
-
import { WalletServicesPluginType } from "../plugins/wallet-services-plugin";
|
|
4
3
|
import type { Web3AuthNoModal } from "../noModal";
|
|
4
|
+
import { WalletServicesPluginType } from "../plugins/wallet-services-plugin";
|
|
5
5
|
export type Web3AuthContextConfig = {
|
|
6
6
|
web3AuthOptions: IWeb3AuthCoreOptions;
|
|
7
7
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
import { type Web3AuthError } from "../../../base/errors";
|
|
3
|
+
import type { TransactionOrVersionedTransaction } from "../../../providers/solana-provider";
|
|
4
|
+
export type IUseSignAndSendTransaction = {
|
|
5
|
+
loading: Ref<boolean>;
|
|
6
|
+
error: Ref<Web3AuthError | null>;
|
|
7
|
+
data: Ref<string | null>;
|
|
8
|
+
signAndSendTransaction: (transaction: TransactionOrVersionedTransaction) => Promise<string>;
|
|
9
|
+
};
|
|
10
|
+
export declare const useSignAndSendTransaction: () => IUseSignAndSendTransaction;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
import { type Web3AuthError } from "../../../base/errors";
|
|
3
|
+
export type IUseSignMessage = {
|
|
4
|
+
loading: Ref<boolean>;
|
|
5
|
+
error: Ref<Web3AuthError | null>;
|
|
6
|
+
data: Ref<string | null>;
|
|
7
|
+
signMessage: (message: string, from?: string) => Promise<string>;
|
|
8
|
+
};
|
|
9
|
+
export declare const useSignMessage: () => IUseSignMessage;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Ref } from "vue";
|
|
2
|
+
import { type Web3AuthError } from "../../../base/errors";
|
|
3
|
+
import { TransactionOrVersionedTransaction } from "../../../providers/solana-provider";
|
|
4
|
+
export type IUseSignTransaction = {
|
|
5
|
+
loading: Ref<boolean>;
|
|
6
|
+
error: Ref<Web3AuthError | null>;
|
|
7
|
+
data: Ref<string | null>;
|
|
8
|
+
signTransaction: (transaction: TransactionOrVersionedTransaction) => Promise<string>;
|
|
9
|
+
};
|
|
10
|
+
export declare const useSignTransaction: () => IUseSignTransaction;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Connection } from "@solana/web3.js";
|
|
2
|
+
import { Ref, ShallowRef } from "vue";
|
|
3
|
+
import { SolanaWallet } from "../../../providers/solana-provider/solanaWallet";
|
|
4
|
+
export type IUseSolanaWallet = {
|
|
5
|
+
accounts: Ref<string[] | null>;
|
|
6
|
+
solanaWallet: ShallowRef<SolanaWallet | null>;
|
|
7
|
+
connection: ShallowRef<Connection | null>;
|
|
8
|
+
};
|
|
9
|
+
export declare const useSolanaWallet: () => IUseSolanaWallet;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./composables";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CreateConfigParameters, WagmiPluginOptions } from "@wagmi/vue";
|
|
2
|
+
export type WagmiProviderProps = Omit<WagmiPluginOptions, "config"> & {
|
|
3
|
+
config?: Omit<CreateConfigParameters, "chains" | "connectors" | "transports" | "multiInjectedProviderDiscovery" | "client">;
|
|
4
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Config } from "@wagmi/core";
|
|
2
|
+
import { PropType } from "vue";
|
|
3
|
+
import { WagmiProviderProps } from "./interface";
|
|
4
|
+
export declare const WagmiProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
config: {
|
|
6
|
+
type: PropType<WagmiProviderProps>;
|
|
7
|
+
required: false;
|
|
8
|
+
};
|
|
9
|
+
}>, {
|
|
10
|
+
finalConfig: import("vue").ShallowRef<Config, Config>;
|
|
11
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
config: {
|
|
13
|
+
type: PropType<WagmiProviderProps>;
|
|
14
|
+
required: false;
|
|
15
|
+
};
|
|
16
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -27,6 +27,10 @@ const useWeb3AuthConnect = () => {
|
|
|
27
27
|
if (!newVal && connectorName.value) {
|
|
28
28
|
connectorName.value = null;
|
|
29
29
|
}
|
|
30
|
+
if (newVal && !connectorName.value) {
|
|
31
|
+
var _web3Auth$value;
|
|
32
|
+
connectorName.value = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.connectedConnectorName;
|
|
33
|
+
}
|
|
30
34
|
}, {
|
|
31
35
|
immediate: true
|
|
32
36
|
});
|