From 4bb6bdb063503ae6c6416375c156feb33e739b07 Mon Sep 17 00:00:00 2001 From: rony-arnac Date: Sun, 9 Jul 2023 14:11:23 +0300 Subject: [PATCH] feat(connectors): add fordefi detection --- .changeset/wise-pens-brake.md | 5 +++++ packages/connectors/src/metaMask.ts | 1 + packages/connectors/src/types.ts | 1 + packages/connectors/src/utils/getInjectedName.test.ts | 1 + packages/connectors/src/utils/getInjectedName.ts | 1 + 5 files changed, 9 insertions(+) create mode 100644 .changeset/wise-pens-brake.md diff --git a/.changeset/wise-pens-brake.md b/.changeset/wise-pens-brake.md new file mode 100644 index 00000000..eb412bca --- /dev/null +++ b/.changeset/wise-pens-brake.md @@ -0,0 +1,5 @@ +--- +"@wagmi/connectors": patch +--- + +add detection for Fordefi wallet diff --git a/packages/connectors/src/metaMask.ts b/packages/connectors/src/metaMask.ts index 0cbf99bf..c98e39f5 100644 --- a/packages/connectors/src/metaMask.ts +++ b/packages/connectors/src/metaMask.ts @@ -62,6 +62,7 @@ export class MetaMaskConnector extends InjectedConnector { if (ethereum.isTokenPocket) return if (ethereum.isTokenary) return if (ethereum.isZerion) return + if (ethereum.isFordefi) return return ethereum } diff --git a/packages/connectors/src/types.ts b/packages/connectors/src/types.ts index 9d58278e..657852be 100644 --- a/packages/connectors/src/types.ts +++ b/packages/connectors/src/types.ts @@ -52,6 +52,7 @@ type InjectedProviderFlags = { isXDEFI?: true isZerion?: true isHaloWallet?: true + isFordefi?: true } type InjectedProviders = InjectedProviderFlags & { diff --git a/packages/connectors/src/utils/getInjectedName.test.ts b/packages/connectors/src/utils/getInjectedName.test.ts index 0a6af419..6c847131 100644 --- a/packages/connectors/src/utils/getInjectedName.test.ts +++ b/packages/connectors/src/utils/getInjectedName.test.ts @@ -67,6 +67,7 @@ describe.each([ { ethereum: { isXDEFI: true }, expected: 'XDEFI Wallet' }, { ethereum: { isZerion: true }, expected: 'Zerion' }, { ethereum: { isMetaMask: true }, expected: 'MetaMask' }, + { ethereum: { isFordefi: true }, expected: 'Fordefi' }, { ethereum: { providers: [{ isMetaMask: true }, { isCoinbaseWallet: true }] }, expected: ['MetaMask', 'Coinbase Wallet'], diff --git a/packages/connectors/src/utils/getInjectedName.ts b/packages/connectors/src/utils/getInjectedName.ts index 2cbfde33..b5b7096f 100644 --- a/packages/connectors/src/utils/getInjectedName.ts +++ b/packages/connectors/src/utils/getInjectedName.ts @@ -45,6 +45,7 @@ export function getInjectedName(ethereum?: WindowProvider) { if (provider.isXDEFI) return 'XDEFI Wallet' if (provider.isZerion) return 'Zerion' if (provider.isMetaMask) return 'MetaMask' + if (provider.isFordefi) return 'Fordefi' } // Some injected providers detect multiple other providers and create a list at `window.ethereum.providers`