@dynamic-labs/sdk-react-core
Version:
A React SDK for implementing wallet web3 authentication and authorization to your website.
51 lines (46 loc) • 2.33 kB
JavaScript
'use client'
;
Object.defineProperty(exports, '__esModule', { value: true });
var multiWallet = require('@dynamic-labs/multi-wallet');
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
var rpcProviders = require('@dynamic-labs/rpc-providers');
require('@dynamic-labs/sdk-api-core');
require('../../shared/logger.cjs');
require('@dynamic-labs/iconic');
require('react');
require('react/jsx-runtime');
require('../../context/ViewContext/ViewContext.cjs');
var createWallet = require('../../shared/utils/functions/wallet/createWallet.cjs');
require('@dynamic-labs/utils');
require('../../utils/constants/colors.cjs');
require('../../utils/constants/values.cjs');
require('../../shared/consts/index.cjs');
/**
* This object is needed because the selected symbols default value from
* getChainInfo differs from the one used in the wallet connectors
*/
const chainInfoOverrides = {
starknet: 'STARK',
};
const getEnabledChains = (chains) => chains
.filter(({ enabled }) => enabled)
.map(({ name }) => { var _a, _b; return (_a = chainInfoOverrides[name]) !== null && _a !== void 0 ? _a : (_b = walletConnectorCore.getChainInfo(name)) === null || _b === void 0 ? void 0 : _b.symbol; })
.filter((chain) => Boolean(chain));
const getWallets = (props) => {
var _a;
return multiWallet.getEnabledWallets({
enabledChains: getEnabledChains(props.getSupportedWalletOpts.settings.chains),
getSupportedWalletOpts: Object.assign(Object.assign({}, props.getSupportedWalletOpts), { chainRpcProviders: rpcProviders.ChainRpcProviders, walletConnectProjectId: (_a = props.getSupportedWalletOpts.settings.sdk.walletConnect) === null || _a === void 0 ? void 0 : _a.projectId }),
}).map((wallet) => {
var _a;
(_a = props.walletConnectorExtensions) === null || _a === void 0 ? void 0 : _a.forEach((extension) => {
var _a;
return wallet.extend(extension, {
walletConnectDappProjectId: (_a = props.getSupportedWalletOpts.settings.sdk.walletConnect) === null || _a === void 0 ? void 0 : _a.walletProjectId,
});
});
return createWallet.createWallet(props.getSupportedWalletOpts.walletBook, wallet);
});
};
exports.getEnabledChains = getEnabledChains;
exports.getWallets = getWallets;