From ddfb620c62202b24adfe41994037d9609a697e0d Mon Sep 17 00:00:00 2001 From: Rony Fragin <98841690+rony-arnac@users.noreply.github.com> Date: Fri, 14 Jul 2023 20:24:33 +0300 Subject: [PATCH] feat: add Fordefi wallet (#1820) * feat: add Fordefi wallet * fix: remove comma * Update packages/injected/src/types.ts --------- Co-authored-by: Adam Carpenter --- .../docs/[...4]wallets/[...10]injected/+page.md | 1 + packages/injected/package.json | 5 +++-- packages/injected/src/constants.ts | 3 ++- packages/injected/src/icons/fordefi.ts | 3 +++ packages/injected/src/types.ts | 6 ++++-- packages/injected/src/wallets.ts | 15 ++++++++++++++- 6 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 packages/injected/src/icons/fordefi.ts diff --git a/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md b/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md index 257a142f7..8442d711f 100644 --- a/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md +++ b/docs/src/routes/docs/[...4]wallets/[...10]injected/+page.md @@ -335,6 +335,7 @@ const injected = injectedModule({ - Safeheron - _Desktop_ - Talisman - _Desktop_ - OneKey - _Desktop & Mobile_ +- Fordefi - _Desktop_ ## Build Environments diff --git a/packages/injected/package.json b/packages/injected/package.json index 29e32cb6e..f58ca21e3 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.10.2", + "version": "2.10.3-alpha.1", "description": "Injected wallet module for connecting browser extension and mobile wallets to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum", @@ -32,7 +32,8 @@ "Injected Wallet", "GameStop", "Phantom", - "DeFi Wallet" + "DeFi Wallet", + "Fordefi" ], "repository": { "type": "git", diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index d757acbca..afbc05dfb 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -27,5 +27,6 @@ export const WALLET_NAMES: { [key: string]: string } = { defiwallet: 'DeFi Wallet', safeheron: 'Safeheron', talismanEth: 'Talisman', - onekey: 'OneKey' + onekey: 'OneKey', + fordefi: 'Fordefi' } diff --git a/packages/injected/src/icons/fordefi.ts b/packages/injected/src/icons/fordefi.ts new file mode 100644 index 000000000..755408097 --- /dev/null +++ b/packages/injected/src/icons/fordefi.ts @@ -0,0 +1,3 @@ +export default ` + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 8e1847610..46fe6e25e 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -63,7 +63,8 @@ export enum ProviderIdentityFlag { DeFiWallet = 'isDeficonnectProvider', Safeheron = 'isSafeheron', Talisman = 'isTalisman', - OneKey = 'isOneKey' + OneKey = 'isOneKey', + Fordefi = 'isFordefi' } @@ -138,7 +139,8 @@ export enum ProviderLabel { DeFiWallet = 'DeFi Wallet', Safeheron = 'Safeheron', Talisman = 'Talisman', - OneKey = 'OneKey' + OneKey = 'OneKey', + Fordefi = 'Fordefi', } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 9899db2cc..110a0d9a9 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -801,6 +801,18 @@ const onekey: InjectedWalletModule = { externalUrl: ProviderExternalUrl.OneKey } +const fordefi: InjectedWalletModule = { + label: ProviderLabel.Fordefi, + injectedNamespace: InjectedNameSpace.Ethereum, + checkProviderIdentity: ({ provider }) => + !!provider && + !!provider[ProviderIdentityFlag.Fordefi] && + !otherProviderFlagsExist(ProviderIdentityFlag.Fordefi, provider), + getIcon: async () => (await import('./icons/fordefi.js')).default, + getInterface: getInjectedInterface(ProviderIdentityFlag.Fordefi, true), + platforms: ['desktop'] +} + const wallets = [ zeal, exodus, @@ -850,7 +862,8 @@ const wallets = [ infinitywallet, safeheron, talisman, - onekey + onekey, + fordefi ] export default wallets