nimbus-wallet-management
Version:
Nimbus Wallet Management solution inspired by Lifi
28 lines • 996 B
JavaScript
import { isWalletInstalled } from './isWalletInstalled.js';
export const isWalletInstalledAsync = async (id) => {
switch (id) {
case 'safe': {
// In Safe iframe env, window.parent is not equal to window
const isIFrameEnvironment = window?.parent !== window;
if (!isIFrameEnvironment) {
return false;
}
const SafeAppsSDK = (await import('@safe-global/safe-apps-sdk'))
.default;
const sdk = new SafeAppsSDK();
try {
const accountInfo = await Promise.race([
sdk.safe.getInfo(),
new Promise((resolve) => setTimeout(resolve, 500)),
]);
return !!accountInfo?.safeAddress;
}
catch (error) {
return false;
}
}
default:
return isWalletInstalled(id);
}
};
//# sourceMappingURL=isWalletInstalledAsync.js.map