Tomo

Tomo SDK serves as the primary wallet connectivity backbone for Mint Matrix, providing seamless multi-chain wallet integration that enables users to interact with Story Protocol.

🔧 Tomo SDK Features Utilized

  1. Wallet Connection Management

  2. Transaction Processing

  3. Account State Tracking

❓ How Tomo was Used

// Some code
 return (
    <WagmiProvider config={config}>
      <QueryClientProvider client={queryClient}>
        <TomoEVMKitProvider 
          avatar={
            ({ address, ensImage, size }) => {
              const src = ensImage && ensImage.trim() !== '' ? ensImage : FALLBACK_AVATAR_SRC;
              
              if (!src) {
                return null; 
              }

              return (
                <img
                  src={src}
                  width={size}
                  height={size}
                  style={{ borderRadius: 999 }}
                  alt={`Avatar for ${address}`}
                />
              );
            }
          }
          theme={lightTheme({
            accentColor: 'black',
            accentColorForeground: 'gray',
            borderRadius: 'large',
            fontStack: 'system',
            overlayBlur: 'small',
          })}
          initialChain={storyAeneid}
        >
          {children}
        </TomoEVMKitProvider>
      </QueryClientProvider>
    </WagmiProvider>
  );
// Some code
import {
  // Mainnets
  mainnet, 
  bsc, 
  arbitrum,
  avalanche,
  b3,
  base,
  bitlayer,
  blast,
  gravity,
  merlin,
  neoxMainnet,
  optimism,
  polygon,
  scroll,
  worldchain,
  opBNB,
  zksync, 
  corn,
  berachain,
  mantle,
  xLayer,
  polygonZkEvm,
  
  // Testnets
  botanixTestnet,
  berachainTestnetbArtio,
  monadTestnet,
  storyAeneid} from "wagmi/chains"

const queryClient = new QueryClient();

const config = getDefaultConfig({
  appName: "MintMatrix",
  clientId: process.env.NEXT_PUBLIC_TOMO_CLIENT_ID as string,
  projectId: process.env.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID as string,
  chains: [aeneid,mainnet, polygon, optimism, arbitrum, base,berachain,bsc,avalanche,b3,bitlayer,blast,gravity,merlin,neoxMainnet,opBNB,zksync,corn,mantle,xLayer,polygonZkEvm,botanixTestnet,berachainTestnetbArtio,monadTestnet,scroll,worldchain],
  wallets:[{
    groupName:"Popular",
    wallets:[
      metaMaskWallet, rainbowWallet, walletConnectWallet
    ],
  },
  {
    groupName:"more wallets",
    wallets:[
      argentWallet, berasigWallet, bestWallet, bifrostWallet, binanceWallet, bitgetWallet, bitskiWallet, bitverseWallet, bloomWallet, braveWallet, bybitWallet, clvWallet, coin98Wallet, coinbaseWallet, compassWallet, coreWallet, dawnWallet, desigWallet, enkryptWallet, foxWallet, frameWallet, frontierWallet, gateWallet, imTokenWallet, injectedWallet, iopayWallet, kaiaWallet, kaikasWallet, krakenWallet, kresusWallet, ledgerWallet, magicEdenWallet,  mewWallet, nestWallet, oktoWallet, okxWallet, omniWallet, oneInchWallet, oneKeyWallet, paraSwapWallet, phantomWallet, rabbyWallet,  ramperWallet, roninWallet, safeWallet, safeheronWallet, safepalWallet, seifWallet, subWallet, tahoWallet, talismanWallet, tokenaryWallet, tokenPocketWallet, trustWallet, uniswapWallet
    ],
  }],
  ssr: false, 
});

Last updated

Was this helpful?