Skip to content

Commit e887945

Browse files
committed
add wallet metadata
1 parent e6993ce commit e887945

File tree

4 files changed

+38
-6
lines changed

4 files changed

+38
-6
lines changed

packages/assets/src/wallets/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ export * from './xverse';
1010
export * from './unisat-wallet';
1111
export * from './backpack';
1212
export * from './trust';
13+
export * from './solflare';
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import type { WalletMetadata } from '@ant-design/web3-common';
2+
import { ChromeCircleColorful, SolflareColorful } from '@ant-design/web3-icons';
3+
4+
export const metadata_Solflare: WalletMetadata = {
5+
icon: <SolflareColorful />,
6+
name: 'Solflare',
7+
remark: 'Solflare Wallet',
8+
app: {
9+
link: 'https://solflare.com/',
10+
},
11+
extensions: [
12+
{
13+
key: 'Chrome',
14+
browserIcon: <ChromeCircleColorful />,
15+
browserName: 'Chrome',
16+
link: 'https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic',
17+
description: 'Access your wallet right from your favorite web browser.',
18+
},
19+
],
20+
};
21+
22+
export const metadata_SolflareMetaMaskSnap: WalletMetadata & { isMetaMaskSnap: true } = {
23+
...metadata_Solflare,
24+
isMetaMaskSnap: true,
25+
};

packages/solana/src/wallets/built-in.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import {
22
metadata_Backpack,
33
metadata_CoinbaseWallet,
4-
metadata_MetaMask,
54
metadata_OkxWallet,
65
metadata_Phantom,
6+
metadata_Solflare,
7+
metadata_SolflareMetaMaskSnap,
78
metadata_Trust,
89
metadata_WalletConnect,
910
} from '@ant-design/web3-assets';
@@ -19,12 +20,13 @@ import { StandardWalletFactory, WalletConnectWalletFactory, WalletFactory } from
1920
export const CoinbaseWallet = () =>
2021
WalletFactory(new CoinbaseWalletAdapter(), metadata_CoinbaseWallet);
2122
export const TrustWallet = () => WalletFactory(new TrustWalletAdapter(), metadata_Trust);
22-
export const MetamaskSnapWallet = () =>
23-
WalletFactory(new SolflareWalletAdapter(), metadata_MetaMask);
23+
export const SolflareMetaMaskSnapWallet = () =>
24+
WalletFactory(new SolflareWalletAdapter(), metadata_SolflareMetaMaskSnap);
2425

2526
export const PhantomWallet = () => StandardWalletFactory(metadata_Phantom);
2627
export const OKXWallet = () => StandardWalletFactory(metadata_OkxWallet);
2728
export const BackpackWallet = () => StandardWalletFactory(metadata_Backpack);
29+
export const SolflareWallet = () => StandardWalletFactory(metadata_Solflare);
2830

2931
export const WalletConnectWallet = () =>
3032
WalletConnectWalletFactory(new WalletConnectWalletAdapter(), metadata_WalletConnect);

packages/solana/src/wallets/types.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,19 @@ export interface StandardWallet extends Wallet {
88
isStandardWallet: boolean;
99
}
1010

11-
export interface WalletFactory {
12-
create: (getWalletConnect?: () => Promise<IUniversalProvider | undefined>) => Wallet;
11+
export interface AdapterWallet extends Wallet {
12+
isMetaMaskSnap?: boolean;
13+
}
14+
15+
export interface WalletFactory<W extends Wallet = Wallet> {
16+
create: (getWalletConnect?: () => Promise<IUniversalProvider | undefined>) => W;
1317
}
1418

1519
export interface StandardWalletFactory extends WalletFactory {
1620
create: () => StandardWallet;
1721
}
1822

19-
export interface AdapterWalletFactory extends WalletFactory {
23+
export interface AdapterWalletFactory extends WalletFactory<AdapterWallet> {
2024
// Only need when use `@solana/wallet-adapter-*`
2125
adapter: Adapter;
2226
}

0 commit comments

Comments
 (0)