@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
49 lines (45 loc) • 1.45 kB
JavaScript
;
var react = require('react');
require('@babel/runtime/helpers/objectSpread2');
require('@babel/runtime/helpers/defineProperty');
require('@segment/analytics-next');
require('../../base/loglevel.js');
require('@toruslabs/base-controllers');
require('@web3auth/auth');
require('../../base/errors/index.js');
require('../../base/wallet/index.js');
require('../../base/connector/connectorStatus.js');
require('../../base/connector/constants.js');
require('jwt-decode');
var errors = require('../../base/plugin/errors.js');
require('../../base/plugin/IPlugin.js');
require('@toruslabs/constants');
require('@toruslabs/http-helpers');
var useWalletServicesPlugin = require('./useWalletServicesPlugin.js');
const useSwap = () => {
const {
plugin,
ready
} = useWalletServicesPlugin.useWalletServicesPlugin();
const [loading, setLoading] = react.useState(false);
const [error, setError] = react.useState(null);
const showSwap = react.useCallback(async showSwapParams => {
setLoading(true);
setError(null);
try {
if (!plugin) throw errors.WalletServicesPluginError.notInitialized();
if (!ready) throw errors.WalletServicesPluginError.walletPluginNotConnected();
await plugin.showSwap(showSwapParams);
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
}, [plugin, ready]);
return {
loading,
error,
showSwap
};
};
exports.useSwap = useSwap;