dp-contract-proxy-kit
Version:
Enable batched transactions and contract account interactions using a unique deterministic Gnosis Safe.
22 lines (16 loc) • 580 B
text/typescript
export async function checkConnectedToSafe(provider: any): Promise<boolean> {
if (provider == null) return false
const wc =
(await provider.getWalletConnector?.()) ||
(await provider.connection?.getWalletConnector?.()) ||
provider.wc ||
provider.connection?.wc
const peerName = wc?.peerMeta?.name
if (peerName === 'Safe Multisig WalletConnect' || peerName?.startsWith?.('Gnosis Safe')) {
return true
}
if (provider._providers) {
return (await Promise.all(provider._providers.map(checkConnectedToSafe))).includes(true)
}
return false
}