/* eslint-disable max-lines */
/* eslint-disable complexity */
import React from 'react';
import { Svg, Path, Rect } from 'react-native-svg';

import { useTheme } from 'contexts/ThemeContext';
import { themes, colors } from 'constants/styleGuide';

export default function TransactionSvg({
  height = 20,
  width = 20,
  style,
  moduleCommand = 'token:transfer',
}) {
  const { theme } = useTheme();

  let children;

  const bgColor = theme === themes.light ? colors.light.zodiacBlue : colors.dark.inkBlue;
  const color = theme === themes.light ? colors.light.platinumGray : colors.dark.white;

  const [module] = moduleCommand.split(':');

  if (module === 'interoperability') {
    children = (
      <>
        <Path
          d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
          fill={bgColor}
        />
        <Path
          fillRule="evenodd"
          clipRule="evenodd"
          d="M17.5 20.05C16.0917 20.05 14.95 18.9083 14.95 17.5C14.95 16.0917 16.0917 14.95 17.5 14.95C18.9083 14.95 20.05 16.0917 20.05 17.5C20.05 18.9083 18.9083 20.05 17.5 20.05ZM13.75 17.5C13.75 15.4289 15.4289 13.75 17.5 13.75C19.5711 13.75 21.25 15.4289 21.25 17.5C21.25 18.3008 20.999 19.043 20.5714 19.6521L22.9596 22.0404L22.0404 22.9596L19.6521 20.5714C19.043 20.999 18.3008 21.25 17.5 21.25C15.4289 21.25 13.75 19.5711 13.75 17.5ZM17.5 35.05C16.0917 35.05 14.95 33.9083 14.95 32.5C14.95 31.0917 16.0917 29.95 17.5 29.95C18.9083 29.95 20.05 31.0917 20.05 32.5C20.05 33.9083 18.9083 35.05 17.5 35.05ZM13.75 32.5C13.75 30.4289 15.4289 28.75 17.5 28.75C18.3008 28.75 19.043 29.001 19.6521 29.4286L22.0404 27.0404L22.9596 27.9596L20.5714 30.3479C20.999 30.957 21.25 31.6992 21.25 32.5C21.25 34.5711 19.5711 36.25 17.5 36.25C15.4289 36.25 13.75 34.5711 13.75 32.5ZM29.95 17.5C29.95 18.9083 31.0917 20.05 32.5 20.05C33.9083 20.05 35.05 18.9083 35.05 17.5C35.05 16.0917 33.9083 14.95 32.5 14.95C31.0917 14.95 29.95 16.0917 29.95 17.5ZM32.5 13.75C30.4289 13.75 28.75 15.4289 28.75 17.5C28.75 18.3008 29.001 19.043 29.4286 19.6521L27.0404 22.0404L27.9596 22.9596L30.3479 20.5714C30.957 20.999 31.6992 21.25 32.5 21.25C34.5711 21.25 36.25 19.5711 36.25 17.5C36.25 15.4289 34.5711 13.75 32.5 13.75ZM32.5 35.05C31.0917 35.05 29.95 33.9083 29.95 32.5C29.95 31.0917 31.0917 29.95 32.5 29.95C33.9083 29.95 35.05 31.0917 35.05 32.5C35.05 33.9083 33.9083 35.05 32.5 35.05ZM30.3479 29.4286C30.957 29.001 31.6992 28.75 32.5 28.75C34.5711 28.75 36.25 30.4289 36.25 32.5C36.25 34.5711 34.5711 36.25 32.5 36.25C30.4289 36.25 28.75 34.5711 28.75 32.5C28.75 31.6992 29.001 30.957 29.4286 30.3479L27.0404 27.9596L27.9596 27.0404L30.3479 29.4286Z"
          fill={color}
        />
        <Rect
          x="21.85"
          y="21.85"
          width="6.3"
          height="6.3"
          rx="3.15"
          stroke={color}
          strokeWidth="1.2"
        />
      </>
    );
  } else {
    switch (moduleCommand) {
      case 'auth:registerMultisignature':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M28.7496 18.1C28.3906 18.1 28.0996 18.3911 28.0996 18.75C28.0996 19.109 28.3906 19.4 28.7496 19.4C29.6435 19.4 30.5996 20.3653 30.5996 21.875C30.5996 23.3848 29.6435 24.35 28.7496 24.35C28.3906 24.35 28.0996 24.6411 28.0996 25C28.0996 25.359 28.3906 25.65 28.7496 25.65C30.6172 25.65 31.8996 23.8171 31.8996 21.875C31.8996 19.933 30.6172 18.1 28.7496 18.1ZM32.4996 33.9625C32.1406 33.9625 31.8496 33.6715 31.8496 33.3125C31.8496 32.9535 32.1406 32.6625 32.4996 32.6625H34.3118C34.2799 32.3894 34.228 32.1201 34.157 31.8565C33.9042 30.9176 33.4089 30.0522 32.7094 29.3527C32.1624 28.8057 31.5138 28.3835 30.808 28.1045C30.4741 27.9726 30.3104 27.595 30.4424 27.2611C30.5743 26.9273 30.9519 26.7636 31.2858 26.8955C32.1554 27.2393 32.9546 27.7594 33.6286 28.4335C34.4905 29.2954 35.1008 30.3617 35.4123 31.5185C35.5685 32.0986 35.6496 32.7014 35.6496 33.3125V33.9625H34.9996H32.4996Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M19.425 21.875C19.425 20.1767 20.8017 18.8 22.5 18.8C24.1983 18.8 25.575 20.1767 25.575 21.875C25.575 23.5733 24.1983 24.95 22.5 24.95C20.8017 24.95 19.425 23.5733 19.425 21.875ZM22.5 17.5C20.0838 17.5 18.125 19.4588 18.125 21.875C18.125 24.2912 20.0838 26.25 22.5 26.25C24.9162 26.25 26.875 24.2912 26.875 21.875C26.875 19.4588 24.9162 17.5 22.5 17.5ZM15.2879 33.504C15.2669 33.5691 15.2472 33.6344 15.2289 33.7001H29.7711C29.7528 33.6344 29.7331 33.5691 29.7121 33.504C29.3986 32.534 28.7746 31.6092 27.8549 30.8428C26.4684 29.6873 24.5447 29.0084 22.5 29.0084C20.4553 29.0084 18.5316 29.6873 17.1451 30.8428C16.2254 31.6092 15.6014 32.534 15.2879 33.504ZM14.0509 33.1042C13.9875 33.3005 13.9338 33.4993 13.8901 33.7001C13.7975 34.1261 13.75 34.5611 13.75 35.0001H15.05H29.95H31.25C31.25 34.5611 31.2025 34.1261 31.1098 33.7001C31.0662 33.4993 31.0125 33.3005 30.9491 33.1042C30.554 31.8818 29.7801 30.7549 28.6872 29.8441C27.0462 28.4766 24.8206 27.7084 22.5 27.7084C20.1794 27.7084 17.9538 28.4766 16.3128 29.8441C15.2199 30.7549 14.4459 31.8818 14.0509 33.1042Z"
              fill={color}
            />
            <Path
              d="M34.4 15.65C34.4 15.291 34.109 15 33.75 15C33.391 15 33.1 15.291 33.1 15.65V16.85H31.9C31.541 16.85 31.25 17.141 31.25 17.5C31.25 17.859 31.541 18.15 31.9 18.15H33.1V19.35C33.1 19.709 33.391 20 33.75 20C34.109 20 34.4 19.709 34.4 19.35V18.15H35.6C35.959 18.15 36.25 17.859 36.25 17.5C36.25 17.141 35.959 16.85 35.6 16.85H34.4V15.65Z"
              fill={color}
            />
          </>
        );
        break;

      case 'legacy:legacyRegisterKeys':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M18.4042 22.0804C18.2387 21.3677 18.6823 20.6556 19.3951 20.4901C20.1078 20.3245 20.8199 20.7682 20.9854 21.4809C21.1509 22.1937 20.7073 22.9057 19.9946 23.0713C19.2818 23.2368 18.5698 22.7932 18.4042 22.0804ZM19.5778 21.2767C19.2994 21.3414 19.1262 21.6194 19.1909 21.8977C19.2555 22.176 19.5335 22.3493 19.8119 22.2846C20.0902 22.22 20.2634 21.942 20.1988 21.6636C20.1341 21.3853 19.8561 21.2121 19.5778 21.2767Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M18.2923 18.7988C15.938 19.6922 14.5482 22.2105 15.1336 24.7313C15.6258 26.8504 17.2432 28.42 19.314 28.685L19.745 30.5407C19.7768 30.6774 19.8629 30.7952 19.9836 30.8669L20.57 31.2152L20.2004 31.7836C20.041 32.0287 20.1175 32.3571 20.3687 32.5066L20.9504 32.8529L20.4577 33.609L20.6956 34.6336C20.7216 34.7455 20.7842 34.8454 20.8736 34.9176L22.3284 36.0929C22.6859 36.3817 23.2197 36.2577 23.4133 35.8409L24.1734 34.2046C24.2398 34.0616 24.2565 33.9006 24.2209 33.747L22.8609 27.8915C23.9019 27.3079 24.6192 26.4122 24.9778 25.3602C25.2241 25.2168 25.4587 25.0487 25.6784 24.8564L27.2399 25.6919C27.3637 25.7581 27.5091 25.7709 27.6425 25.7274L28.2225 25.5382L28.3869 26.1214C28.4663 26.4028 28.7636 26.5617 29.0417 26.4714L29.617 26.2843L29.8416 27.0839L30.725 27.5566C30.8263 27.6108 30.9427 27.6296 31.0559 27.6099L32.774 27.3119C33.2268 27.2333 33.4854 26.7502 33.2995 26.3298L32.6208 24.7955C32.5571 24.6513 32.447 24.5326 32.308 24.4582L27.3456 21.803C27.7678 19.7603 26.7419 17.8431 24.8356 16.8231C22.4825 15.564 19.5548 16.4487 18.2923 18.7988ZM19.7539 18.4764C22.2179 18.3005 24.513 19.9365 25.0896 22.419C25.2045 22.9135 25.2539 23.4042 25.2403 23.8802C25.4112 23.71 25.6752 23.6871 25.8711 23.8145L27.5301 24.7022L28.3992 24.4187C28.6773 24.328 28.975 24.4869 29.0544 24.7685L29.2189 25.3522L29.7947 25.165C30.0729 25.0746 30.3704 25.2338 30.4495 25.5154L30.6971 26.3968L31.0511 26.5862L32.2194 26.3835L31.7398 25.2991L26.5635 22.5295C26.3286 22.4309 26.2011 22.1689 26.2759 21.9194C26.7774 20.245 26.0234 18.6035 24.3594 17.7132C22.7947 16.876 20.909 17.2366 19.7539 18.4764ZM16.1169 24.5029C15.6045 22.2967 16.9776 20.0929 19.1838 19.5804C21.39 19.068 23.5939 20.4411 24.1063 22.6473C24.5632 24.6144 23.7738 26.3836 22.0681 27.1627C21.831 27.271 21.718 27.5398 21.799 27.7816L23.214 33.8739L22.6612 35.064L21.6404 34.2393L21.5383 33.7997L22.0773 32.9723C22.237 32.7273 22.1607 32.3985 21.9093 32.2489L21.3272 31.9024L21.6971 31.3336C21.8565 31.0884 21.7799 30.7597 21.5284 30.6103L20.6806 30.1067L20.2248 28.1444C20.1919 27.9088 19.9953 27.7224 19.7491 27.7106C17.9918 27.6263 16.5481 26.3592 16.1169 24.5029Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M32.5 15.625C32.5 15.2798 32.2202 15 31.875 15C31.5298 15 31.25 15.2798 31.25 15.625V17.5H29.375C29.0298 17.5 28.75 17.7798 28.75 18.125C28.75 18.4702 29.0298 18.75 29.375 18.75H31.25V20.625C31.25 20.9702 31.5298 21.25 31.875 21.25C32.2202 21.25 32.5 20.9702 32.5 20.625V18.75H34.375C34.7202 18.75 35 18.4702 35 18.125C35 17.7798 34.7202 17.5 34.375 17.5H32.5V15.625Z"
              fill={color}
            />
          </>
        );
        break;

      case 'pos:registerValidator':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M32.6922 15.292C32.6922 14.6889 32.2033 14.2 31.6002 14.2C30.9971 14.2 30.5082 14.6889 30.5082 15.292V17.308H28.4922C27.8891 17.308 27.4002 17.7969 27.4002 18.4C27.4002 19.0031 27.8891 19.492 28.4922 19.492H30.5082V21.508C30.5082 22.1111 30.9971 22.6 31.6002 22.6C32.2033 22.6 32.6922 22.1111 32.6922 21.508V19.492H34.7082C35.3113 19.492 35.8002 19.0031 35.8002 18.4C35.8002 17.7969 35.3113 17.308 34.7082 17.308H32.6922V15.292Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M23.2002 17.8C20.7149 17.8 18.7002 19.8147 18.7002 22.3C18.7002 24.7853 20.7149 26.8 23.2002 26.8C25.6855 26.8 27.7002 24.7853 27.7002 22.3C27.7002 19.8147 25.6855 17.8 23.2002 17.8ZM20.2602 22.3C20.2602 20.6763 21.5765 19.36 23.2002 19.36C24.8239 19.36 26.1402 20.6763 26.1402 22.3C26.1402 23.9237 24.8239 25.24 23.2002 25.24C21.5765 25.24 20.2602 23.9237 20.2602 22.3Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M23.2002 28.3001C25.5871 28.3001 27.8763 29.0903 29.5642 30.4968C30.6883 31.4336 31.4844 32.5927 31.8907 33.8501C31.9324 33.9791 31.97 34.1091 32.0034 34.2401C32.1333 34.7491 32.2002 35.2717 32.2002 35.8001H14.2002C14.2002 35.2717 14.2671 34.7491 14.397 34.2401C14.4304 34.1091 14.468 33.9791 14.5097 33.8501C14.916 32.5927 15.7121 31.4336 16.8362 30.4968C18.5241 29.0903 20.8132 28.3001 23.2002 28.3001ZM17.8349 31.6952C16.9474 32.4348 16.3415 33.318 16.024 34.2401H30.3763C30.0589 33.318 29.453 32.4348 28.5655 31.6952C27.183 30.5431 25.2561 29.8601 23.2002 29.8601C21.1443 29.8601 19.2174 30.5431 17.8349 31.6952Z"
              fill={color}
            />
          </>
        );
        break;

      case 'pos:reportMisbehavior':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M15.2082 14.5625C15.2082 14.2036 14.9172 13.9125 14.5582 13.9125C14.1992 13.9125 13.9082 14.2036 13.9082 14.5625V35.4395C13.9082 35.7984 14.1992 36.0895 14.5582 36.0895C14.9172 36.0895 15.2082 35.7984 15.2082 35.4395V26.2994H24.1655L23.0962 29.6735C22.943 30.157 23.3039 30.65 23.8112 30.6501L34.8585 30.6501C35.4936 30.6501 36.0085 30.1352 36.0085 29.5001V21.5844C36.0085 20.9492 35.4936 20.4344 34.8585 20.4344L27.3844 20.4344L28.2886 17.5811C28.5236 16.8397 27.9701 16.0837 27.1924 16.0837H15.2082V14.5625ZM15.3166 17.3837V24.9994H24.3178C24.4704 24.9994 24.6054 24.9005 24.6515 24.7551L26.9875 17.3837H15.3166ZM26.9758 21.7344L24.5624 29.3501L34.7085 29.3501V21.7344L26.9758 21.7344Z"
              fill={color}
            />
          </>
        );
        break;

      case 'pos:unlock':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M29.9537 14.537C30.4606 14.9794 30.884 15.511 31.2152 16.1331L29.9932 17.3552C29.7196 16.6735 29.3353 16.1542 28.8851 15.7612C27.9537 14.9482 26.6109 14.5625 25 14.5625C23.3891 14.5625 22.0463 14.9482 21.1149 15.7612C20.267 16.5013 19.6529 17.6896 19.5717 19.5675H27.7809L26.1559 21.1925H18.125C16.9514 21.1925 16 22.1439 16 23.3175V31.3484L14.502 32.8463C14.4192 32.5365 14.375 32.2109 14.375 31.875V23.3175C14.375 21.3067 15.9577 19.6655 17.9453 19.5717C18.0285 17.3176 18.7747 15.6468 20.0463 14.537C21.3769 13.3756 23.1591 12.9375 25 12.9375C26.8409 12.9375 28.6231 13.3756 29.9537 14.537Z"
              fill={color}
            />
            <Path
              d="M24.1875 28.8119C24.1028 28.7828 24.0202 28.7493 23.94 28.7117L25.4608 27.1909C25.5756 27.1196 25.6727 27.0225 25.744 26.9077L27.2648 25.3869C27.4157 25.7087 27.5 26.068 27.5 26.4469C27.5 27.5432 26.7944 28.4747 25.8125 28.8119V31.25C25.8125 31.6987 25.4487 32.0625 25 32.0625C24.5513 32.0625 24.1875 31.6987 24.1875 31.25V28.8119Z"
              fill={color}
            />
            <Path
              d="M31.875 34H18.6517L17.1537 35.498C17.4635 35.5808 17.7891 35.625 18.125 35.625H31.875C33.9461 35.625 35.625 33.946 35.625 31.875V23.3175C35.625 21.6138 34.4889 20.1754 32.9329 19.7188L31.4592 21.1925H31.875C33.0486 21.1925 34 22.1439 34 23.3175V31.875C34 33.0486 33.0486 34 31.875 34Z"
              fill={color}
            />
            <Path
              d="M35.5745 15.5746C35.8918 15.2573 35.8918 14.7428 35.5745 14.4255C35.2572 14.1082 34.7428 14.1082 34.4255 14.4255L13.8005 35.0505C13.4832 35.3678 13.4832 35.8823 13.8005 36.1996C14.1178 36.5169 14.6322 36.5169 14.9495 36.1996L35.5745 15.5746Z"
              fill={color}
            />
          </>
        );
        break;

      case 'pos:updateGeneratorKey':
        children = <></>;
        break;

      case 'pos:stake':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M34.0385 16.4162C34.3621 16.0922 34.3621 15.5669 34.0385 15.243C33.7149 14.919 33.1902 14.919 32.8666 15.243L28.9908 19.1233L27.6645 17.7955C27.3409 17.4715 26.8163 17.4715 26.4927 17.7955C26.1691 18.1195 26.1691 18.6447 26.4927 18.9687L28.4049 20.8831C28.7285 21.2071 29.2531 21.2071 29.5767 20.8831L34.0385 16.4162Z"
              fill={color}
            />
            <Path
              d="M33.75 26.8776C33.75 27.8069 31.7912 28.5603 29.375 28.5603C26.9588 28.5603 25 27.8069 25 26.8776"
              stroke={color}
            />
            <Path
              d="M33.75 29.5698C33.75 30.4992 31.7912 31.2525 29.375 31.2525C26.9588 31.2525 25 30.4992 25 29.5698"
              stroke={color}
            />
            <Path
              d="M33.75 32.2621C33.75 33.1915 31.7912 33.9448 29.375 33.9448C26.9588 33.9448 25 33.1915 25 32.2621"
              stroke={color}
            />
            <Path
              d="M33.75 26.8776C33.75 25.9482 31.7912 25.1949 29.375 25.1949C26.9588 25.1949 25 25.9482 25 26.8776"
              stroke={color}
            />
            <Path
              d="M25 26.8776V32.2622"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M33.75 26.8776V32.2622"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M25 18.8007C25 19.73 23.0412 20.4834 20.625 20.4834C18.2088 20.4834 16.25 19.73 16.25 18.8007"
              stroke={color}
            />
            <Path
              d="M25 21.4929C25 22.4222 23.0412 23.1756 20.625 23.1756C18.2088 23.1756 16.25 22.4222 16.25 21.4929"
              stroke={color}
            />
            <Path
              d="M25 24.1852C25 25.1145 23.0412 25.8679 20.625 25.8679C18.2088 25.8679 16.25 25.1145 16.25 24.1852"
              stroke={color}
            />
            <Path
              d="M25 26.8776C25 27.8069 23.0412 28.5603 20.625 28.5603C18.2088 28.5603 16.25 27.8069 16.25 26.8776"
              stroke={color}
            />
            <Path
              d="M25 29.5699C25 30.4992 23.0412 31.2526 20.625 31.2526C18.2088 31.2526 16.25 30.4992 16.25 29.5699"
              stroke={color}
            />
            <Path
              d="M25 32.2621C25 33.1915 23.0412 33.9448 20.625 33.9448C18.2088 33.9448 16.25 33.1915 16.25 32.2621"
              stroke={color}
            />
            <Path
              d="M25 18.8007C25 17.8713 23.0412 17.118 20.625 17.118C18.2088 17.118 16.25 17.8713 16.25 18.8007"
              stroke={color}
            />
            <Path
              d="M16.25 18.8007V32.2622"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M25 18.8007V32.3258"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
          </>
        );
        break;

      case 'pos:changeCommission':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M32.4999 20.5796C32.4999 21.4074 32.1765 22.189 31.592 22.7745L23.1292 31.2519C22.9738 31.4075 22.7794 31.5184 22.5684 31.5701L19.0029 32.463C18.9056 32.4879 18.8066 32.5 18.7069 32.5C18.3878 32.5 18.0802 32.373 17.8516 32.144C17.5536 31.8433 17.4337 31.4089 17.5357 30.9978L18.4264 27.4257C18.4788 27.2133 18.5894 27.0181 18.744 26.8632L27.2069 18.3859C28.3859 17.2048 30.4139 17.2047 31.5919 18.3857C32.1772 18.9708 32.4999 19.7511 32.4999 20.5796ZM30.7759 19.2016C30.048 18.4715 28.7518 18.4715 28.0235 19.2011L19.5606 27.6784C19.5537 27.6854 19.5485 27.6945 19.5463 27.7035L18.6554 31.2764C18.6506 31.2958 18.6565 31.3171 18.6697 31.3303C18.6798 31.3405 18.6935 31.3462 18.7069 31.3462C18.7114 31.3462 18.7142 31.3458 18.7195 31.3444L22.2909 30.4501C22.2976 30.4484 22.3051 30.4441 22.3126 30.4367L30.7754 21.9593C31.144 21.5901 31.3461 21.1017 31.3461 20.5796C31.3461 20.0568 31.1447 19.5701 30.7759 19.2016Z"
              fill={color}
            />
            <Path
              fillRule="evenodd"
              clipRule="evenodd"
              d="M26.25 19.8268L27.3488 18.75L31.0175 22.4936L29.9187 23.5704L26.25 19.8268Z"
              fill={color}
            />
            <Rect x="24" y="16.5" width="2" height="2" rx="1" stroke={color} strokeWidth="0.5" />
            <Rect x="24" y="31.5" width="2" height="2" rx="1" stroke={color} strokeWidth="0.5" />
          </>
        );
        break;

      case 'pos:claimRewards':
      case 'legacy:legacyReclaimLSK':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M34.5053 23.7602C34.5053 23.9794 34.4182 24.1897 34.2632 24.3447C34.1082 24.4997 33.898 24.5868 33.6788 24.5868H16.3216C16.1024 24.5868 15.8922 24.4997 15.7372 24.3447C15.5822 24.1897 15.4951 23.9794 15.4951 23.7602V22.1072C15.4951 21.888 15.5822 21.6777 15.7372 21.5227C15.8922 21.3677 16.1024 21.2806 16.3216 21.2806H33.6788C33.898 21.2806 34.1082 21.3677 34.2632 21.5227C34.4182 21.6777 34.5053 21.888 34.5053 22.1072V23.7602Z"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M32.8525 33.6786C32.8525 33.8978 32.7654 34.108 32.6104 34.263C32.4554 34.418 32.2452 34.5051 32.026 34.5051H17.975C17.7558 34.5051 17.5455 34.418 17.3905 34.263C17.2355 34.108 17.1484 33.8978 17.1484 33.6786V24.5867H32.8525V33.6786Z"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M25 31.75C26.2426 31.75 27.25 30.7426 27.25 29.5C27.25 28.2574 26.2426 27.25 25 27.25C23.7574 27.25 22.75 28.2574 22.75 29.5C22.75 30.7426 23.7574 31.75 25 31.75Z"
              stroke={color}
              strokeMiterlimit="10"
            />
            <Rect
              x="25"
              y="28.8636"
              width="0.9"
              height="0.9"
              transform="rotate(45 25 28.8636)"
              stroke={color}
              strokeWidth="0.3"
            />
            <Path
              d="M29.7841 17.6602C29.1526 18.2925 26.125 19.0322 26.125 19.0322C26.125 19.0322 26.8689 16.0046 27.497 15.3731C27.646 15.2177 27.8245 15.0936 28.0221 15.0081C28.2197 14.9226 28.4323 14.8774 28.6476 14.8751C28.8629 14.8728 29.0765 14.9135 29.2758 14.9949C29.4751 15.0762 29.6562 15.1965 29.8084 15.3488C29.9607 15.501 30.081 15.6821 30.1623 15.8814C30.2437 16.0807 30.2844 16.2943 30.2821 16.5096C30.2798 16.7249 30.2346 16.9375 30.1491 17.1351C30.0636 17.3327 29.9395 17.5112 29.7841 17.6602Z"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M19.8249 17.6119C20.4564 18.2442 23.4839 18.9839 23.4839 18.9839C23.4839 18.9839 22.7401 15.9564 22.1119 15.3249C21.8065 15.0321 21.3985 14.8706 20.9755 14.8751C20.5524 14.8796 20.1479 15.0496 19.8488 15.3488C19.5496 15.6479 19.3796 16.0524 19.3751 16.4755C19.3706 16.8985 19.5321 17.3065 19.8249 17.6119Z"
              stroke={color}
              strokeLinecap="round"
              strokeLinejoin="round"
            />
          </>
        );
        break;

      case 'token:transfer':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M25 29.6875C27.5888 29.6875 29.6875 27.5888 29.6875 25C29.6875 22.4112 27.5888 20.3125 25 20.3125C22.4112 20.3125 20.3125 22.4112 20.3125 25C20.3125 27.5888 22.4112 29.6875 25 29.6875Z"
              stroke={color}
              strokeWidth="1.3"
              strokeMiterlimit="10"
            />
            <Rect
              x="24.75"
              y="23.4571"
              width="2.12134"
              height="2.12134"
              transform="rotate(45 24.75 23.4571)"
              stroke={color}
            />
            <Path
              d="M16.5625 27.8125C16.5625 31.4406 19.4969 34.375 23.125 34.375M23.125 34.375L22.1406 32.7344M23.125 34.375L21.7188 35.7812"
              stroke={color}
              strokeWidth="1.3"
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M34.375 22.6562C34.375 19.0281 31.4406 16.0938 27.8125 16.0938M27.8125 16.0938L28.7969 17.7344M27.8125 16.0938L29.6875 14.6875"
              stroke={color}
              strokeWidth="1.3"
              strokeLinecap="round"
              strokeLinejoin="round"
            />
          </>
        );
        break;

      case 'token:transferCrossChain':
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M25 29.6875C27.5888 29.6875 29.6875 27.5888 29.6875 25C29.6875 22.4112 27.5888 20.3125 25 20.3125C22.4112 20.3125 20.3125 22.4112 20.3125 25C20.3125 27.5888 22.4112 29.6875 25 29.6875Z"
              stroke={color}
              strokeWidth="1.3"
              strokeMiterlimit="10"
            />
            <Rect
              x="24.75"
              y="23.4571"
              width="2.12134"
              height="2.12134"
              transform="rotate(45 24.75 23.4571)"
              stroke={color}
            />
            <Path
              d="M24.541 33.9351C21.0365 34.8741 17.4427 32.7992 16.5036 29.2947M16.5036 29.2947L18.3431 29.8209M16.5036 29.2947L15.5093 31.017"
              stroke={color}
              strokeWidth="1.3"
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <Path
              d="M27.1094 15.3906C30.7375 15.3906 33.6719 18.325 33.6719 21.9531M33.6719 21.9531L32.0312 20.9688M33.6719 21.9531L35.0781 20.0781"
              stroke={color}
              strokeWidth="1.3"
              strokeLinecap="round"
              strokeLinejoin="round"
            />
          </>
        );
        break;

      default:
        children = (
          <>
            <Path
              d="M25 50C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0C38.8071 0 50 11.1929 50 25C50 38.8071 38.8071 50 25 50Z"
              fill={bgColor}
            />
            <Path
              d="M19.8972 17.4341L17.5131 19.8661H27.7811C28.176 19.8661 28.4961 20.1862 28.4961 20.5811C28.4961 20.976 28.176 21.2961 27.7811 21.2961H17.5095L19.8971 23.7318C20.1736 24.0138 20.1736 24.471 19.8971 24.753C19.6207 25.035 19.1725 25.035 18.8961 24.753L15.3089 21.0935C15.1761 20.9581 15.1016 20.7744 15.1016 20.5829C15.1016 20.3914 15.1761 20.2077 15.3089 20.0723L18.8961 16.4129C19.1726 16.1309 19.6207 16.1309 19.8972 16.4129C20.1736 16.6949 20.1736 17.1521 19.8972 17.4341Z"
              fill={color}
            />
            <Path
              d="M30.1031 26.2682L32.4872 28.7002H22.2193C21.8244 28.7002 21.5043 29.0203 21.5043 29.4152C21.5043 29.8101 21.8244 30.1302 22.2193 30.1302H32.4908L30.1032 32.5659C29.8267 32.8479 29.8267 33.3051 30.1032 33.5871C30.3796 33.8691 30.8278 33.8691 31.1042 33.5871L34.6914 29.9276C34.8242 29.7922 34.8987 29.6085 34.8987 29.417C34.8987 29.2255 34.8242 29.0418 34.6914 28.9064L31.1042 25.247C30.8277 24.965 30.3795 24.965 30.1031 25.247C29.8267 25.529 29.8267 25.9862 30.1031 26.2682Z"
              fill={color}
            />
          </>
        );
        break;
    }
  }

  return (
    <Svg
      width={style?.width || width}
      height={style?.height || height}
      viewBox="0 0 50 50"
      fill="none"
      style={style}
    >
      {children}
    </Svg>
  );
}
