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