@sky-mavis/tanto-connect
Version:
Tanto Connect
37 lines • 2.64 kB
JavaScript
import {ConnectorType,RONIN_WALLET_CONNECT_PROJECT_ID}from'../common/connectors.mjs';import {RONIN_WALLET_RDNS,WC_SUPPORTED_CHAIN_IDS,DEFAULT_DELAY_TIME}from'../common/constant.mjs';import {requestProviders}from'../providers/eip6963.mjs';import {requestRoninProvider}from'../providers/ronin.mjs';import {requestRoninWalletConnectProvider}from'../providers/ronin-wallet-connect.mjs';import {requestSafeProvider}from'../providers/safe-provider.mjs';import {requestWaypointProvider}from'../providers/waypoint-provider.mjs';import {InjectedConnector}from'./injected/InjectedConnector.mjs';import {RoninWalletConnector}from'./ronin-wallet/RoninWalletConnector.mjs';import {RoninWalletConnectConnector}from'./ronin-wallet-connect/RoninWalletConnectConnector.mjs';import {SafeConnector}from'./safe/SafeConnector.mjs';import {WaypointConnector}from'./waypoint/WaypointConnector.mjs';const requestInjectedConnectors = async () => {
const providerDetails = await requestProviders();
return providerDetails.map(detail => {
if (detail.info.rdns === RONIN_WALLET_RDNS) {
return new RoninWalletConnector({ icon: detail.info.icon }, detail.provider);
}
const configs = {
name: detail.info.name,
id: detail.info.rdns,
icon: detail.info.icon,
type: ConnectorType.WALLET,
};
return new InjectedConnector(configs, detail.provider);
});
};
const requestRoninWalletConnector = async () => {
const provider = await requestRoninProvider();
return new RoninWalletConnector({}, provider);
};
const requestRoninWalletConnectConnector = async ({ connectorConfigs, providerOptions, }) => {
const provider = await requestRoninWalletConnectProvider({
projectId: RONIN_WALLET_CONNECT_PROJECT_ID,
chains: WC_SUPPORTED_CHAIN_IDS,
optionalChains: WC_SUPPORTED_CHAIN_IDS,
showQrModal: false,
...providerOptions,
});
return new RoninWalletConnectConnector({ connectorConfigs, provider, providerOptions });
};
const requestSafeConnector = async (configs, delay = DEFAULT_DELAY_TIME) => {
const provider = await requestSafeProvider(delay);
return new SafeConnector(configs, provider);
};
const requestWaypointConnector = ({ connectorConfigs, providerConfigs, }) => {
const provider = requestWaypointProvider(providerConfigs);
return new WaypointConnector({ connectorConfigs, providerConfigs, provider });
};export{requestInjectedConnectors,requestRoninWalletConnectConnector,requestRoninWalletConnector,requestSafeConnector,requestWaypointConnector};