wallets.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { LedgerWalletAdapter, LedgerWalletAdapterConfig } from '@solana/wallet-adapter-ledger';
  2. import { MathWalletWalletAdapter, MathWalletWalletAdapterConfig } from '@solana/wallet-adapter-mathwallet';
  3. import { PhantomWalletAdapter, PhantomWalletAdapterConfig } from '@solana/wallet-adapter-phantom';
  4. import { Wallet, WalletName } from '@solana/wallet-adapter-react';
  5. import { SolletWalletAdapter, SolletWalletAdapterConfig } from '@solana/wallet-adapter-sollet';
  6. import { SolongWalletAdapter, SolongWalletAdapterConfig } from '@solana/wallet-adapter-solong';
  7. import { TorusWalletAdapter, TorusWalletAdapterConfig } from '@solana/wallet-adapter-torus';
  8. export const ICONS_URL = 'https://raw.githubusercontent.com/solana-labs/wallet-adapter/master/packages/wallets/icons';
  9. export const getPhantomWallet = (config?: PhantomWalletAdapterConfig): Wallet => ({
  10. name: WalletName.Phantom,
  11. url: 'https://www.phantom.app',
  12. icon: `${ICONS_URL}/phantom.png`,
  13. adapter: () => new PhantomWalletAdapter(config),
  14. });
  15. export const getLedgerWallet = (config?: LedgerWalletAdapterConfig): Wallet => ({
  16. name: WalletName.Ledger,
  17. url: 'https://www.ledger.com',
  18. icon: `${ICONS_URL}/ledger.svg`,
  19. adapter: () => new LedgerWalletAdapter(config),
  20. });
  21. export const getTorusWallet = (config: TorusWalletAdapterConfig): Wallet => ({
  22. name: WalletName.Torus,
  23. url: 'https://tor.us',
  24. icon: `${ICONS_URL}/torus.svg`,
  25. adapter: () => new TorusWalletAdapter(config),
  26. });
  27. export const getSolongWallet = (config?: SolongWalletAdapterConfig): Wallet => ({
  28. name: WalletName.Solong,
  29. url: 'https://solongwallet.com',
  30. icon: `${ICONS_URL}/solong.png`,
  31. adapter: () => new SolongWalletAdapter(config),
  32. });
  33. // @FIXME:
  34. // export const getWalletConnectWallet = (config?: WalletConnectWalletAdapterConfig): Wallet => ({
  35. // name: WalletName.WalletConnect,
  36. // url: 'https://walletconnect.org',
  37. // icon: `${ASSETS_URL}/walletconnect.svg`,
  38. // adapter: () => new WalletConnectWalletAdapter(config),
  39. // });
  40. export const getMathWallet = (config?: MathWalletWalletAdapterConfig): Wallet => ({
  41. name: WalletName.MathWallet,
  42. url: 'https://mathwallet.org',
  43. icon: `${ICONS_URL}/mathwallet.svg`,
  44. adapter: () => new MathWalletWalletAdapter(config),
  45. });
  46. export const getSolletWallet = (config?: SolletWalletAdapterConfig): Wallet => ({
  47. name: WalletName.Sollet,
  48. url: 'https://www.sollet.io',
  49. icon: `${ICONS_URL}/sollet.svg`,
  50. adapter: () => new SolletWalletAdapter(config),
  51. });