type WalletKind = "tokenPocket" | "metaMask" | "imToken"; function currentDappUrl(): string { if (typeof window === "undefined") return "https://ark-library.com"; return window.location.href; } export function walletDeepLink( kind: WalletKind, dappUrl = currentDappUrl(), ): string { switch (kind) { case "tokenPocket": return `tpdapp://open?params=${encodeURIComponent( JSON.stringify({ url: dappUrl, chain: "ETH" }), )}`; case "metaMask": return `https://metamask.app.link/dapp/${encodeURIComponent( dappUrl.replace(/^https?:\/\//, ""), )}`; case "imToken": return `imtokenv2://navigate/DappView?url=${encodeURIComponent(dappUrl)}`; default: return dappUrl; } } export function openWalletDeepLink(kind: WalletKind): void { if (typeof window === "undefined") return; window.location.href = walletDeepLink(kind); }