Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New wallet flow - first class EVM/ish wallets #8594

Open
gomesalexandre opened this issue Jan 15, 2025 · 0 comments
Open

New wallet flow - first class EVM/ish wallets #8594

gomesalexandre opened this issue Jan 15, 2025 · 0 comments
Assignees

Comments

@gomesalexandre
Copy link
Contributor

gomesalexandre commented Jan 15, 2025

Overview

Add first class support for those mipd wallets that really aren't.

Those are currently guarded against in the new flow, since we should handle them as first-class, which we don't yet:

const supportedStaticProviders = useMemo(() => {
if (isMobileApp || isMobile) return []
// TODO(gomes): This says installed, so we only display... installed. Static ones (MM, Rabby, XDEFI) will either be displayed as their own section (EVM wallets/others), or
// not at all, TBD with product
return []
}, [])
const mipdProviders = useMemo(
() => uniqBy(detectedMipdProviders.concat(supportedStaticProviders), 'info.rdns'),
[detectedMipdProviders, supportedStaticProviders],
)
// TODO(gomes): wat do with these? two options here
// 1. keep filtering out and add as explicit options in the list (not under installed)
// 2. don't filter out, but still explicitly handle those 3 as they are not pure EVM wallets / rdns providers
// - keplr is an EVM/Cosmos SDK wallet, but we only support the latter (and if we were to use it as rdns provider, we'd only support the former)
// - Phantom is Solana + BTC + ETH, and we support it all (we'd only support the ETH part if we were to handle it as rdns provider)
// - Coinbase *is* an EVM-only wallet, but has some magic-QR pairing flow we support explicitly in hdwallet
const filteredProviders = useMemo(
() =>
mipdProviders.filter(
provider =>
provider.info.rdns !== 'app.keplr' &&
provider.info.rdns !== 'app.phantom' &&
provider.info.rdns !== 'com.coinbase.wallet',
),
[mipdProviders],
)

References and additional details

See above

Acceptance Criteria

  • Affected wallets: Keplr, Coinbase, Phantom
  • Regardless of installation, first-class flow is used for those wallets, not MIPD flow (which will usually look the same, visually at least, except for Coinbase where a QR pairing option exists)
  • Installed wallets show up in "Installed"
  • Uninstalled wallets appear in "Others"
  • Keplr still functions the same as in develop/prod i.e Cosmos SDK only, not EVM (despite being detected as EVM mipd provider)

Need By Date

No response

Screenshots/Mockups

No response

Estimated effort

No response

@gomesalexandre gomesalexandre self-assigned this Jan 15, 2025
@gomesalexandre gomesalexandre changed the title New wallt flow - first class EVM/ish wallets New wallet flow - first class EVM/ish wallets Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

1 participant