Skip to content

Commit

Permalink
Merge pull request #339 from yearn/feat/chain-icons
Browse files Browse the repository at this point in the history
feat: Chain icons
  • Loading branch information
Majorfi authored Sep 21, 2023
2 parents 3539314 + 5b5b711 commit 9e21b0f
Show file tree
Hide file tree
Showing 18 changed files with 587 additions and 0 deletions.
45 changes: 45 additions & 0 deletions src/icons/chains/IconArbitrumChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconArbitrumChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285568)'}>
<path
fill={'#2F3749'}
d={'M16 32c8.92 0 16-7.221 16-16 0-8.92-7.221-16-16-16C7.08 0 0 7.221 0 16s7.221 16 16 16z'}
/>
<path
fill={'#9DCCED'}
fillRule={'evenodd'}
d={'M16.153 6.41A.32.32 0 0016 6.355a.31.31 0 00-.153.044L7.56 11.068a.317.317 0 00-.153.264v9.345c0 .105.054.21.153.264l3.444 1.94-.486 1.294-3.662-2.063A1.654 1.654 0 016 20.668v-9.336c0-.599.325-1.145.857-1.444l8.286-4.668c.269-.149.556-.22.852-.22.297 0 .593.071.853.22l8.295 4.668c.532.3.857.845.857 1.444v9.336c0 .599-.325 1.145-.857 1.444l-8.286 4.668c-.27.15-.56.22-.857.22-.298 0-.596-.07-.857-.22l-3.753-2.114.476-1.303.598.34 3.383 1.905a.31.31 0 00.153.044.31.31 0 00.153-.044l8.286-4.667a.317.317 0 00.153-.264V11.34a.298.298 0 00-.153-.264l-8.286-4.668z'}
clipRule={'evenodd'}
/>
<path
fill={'#fff'}
fillRule={'evenodd'}
d={'M13.187 10.661H15.3c.126 0 .216.123.171.247l-4.965 13.271-2.176-1.224 4.505-12.047a.39.39 0 01.352-.247zm3.684 0h2.103c.126 0 .217.123.171.247l-5.597 14.98-2.175-1.224 5.145-13.756a.39.39 0 01.352-.247z'}
clipRule={'evenodd'}
/>
<path
fill={'#12AAFF'}
fillRule={'evenodd'}
d={'M23.18 21.647l-3.32-8.877a.19.19 0 00-.352 0l-1.092 2.923a.41.41 0 000 .255l2.59 6.924 2.174-1.225zm-3.04 1.712l-2.122-5.677a.19.19 0 00-.352 0l-1.092 2.923a.41.41 0 000 .255l1.39 3.723 2.176-1.224z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285568'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
26 changes: 26 additions & 0 deletions src/icons/chains/IconAvalancheChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconAvalancheChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<path
fill={'#E84142'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#fff'}
fillRule={'evenodd'}
d={'M8.489 22.98h3.031c.465.035.933.014 1.393-.062.348-.106.666-.292.928-.544.304-.344.557-.73.752-1.146l3.935-6.957c.258-.392.46-.817.601-1.265a2.294 2.294 0 000-1.061 4.943 4.943 0 00-.588-1.236l-1.53-2.683-.056-.096c-.286-.492-.437-.75-.628-.845a.752.752 0 00-.695 0c-.214.107-.37.382-.673.91l-.022.04-7.48 13.136c-.31.555-.457.836-.457 1.055a.76.76 0 00.35.633c.365.13.755.17 1.139.12zm15.011 0h-4.336a2.482 2.482 0 01-1.115-.123.787.787 0 01-.354-.633c-.006-.215.145-.478.446-1l.024-.042 2.22-3.713c.316-.55.482-.822.678-.922a.752.752 0 01.696 0c.17.096.33.356.631.874v.037l2.173 3.713v.05c.297.518.437.786.437 1.005a.771.771 0 01-.348.633c-.37.127-.763.168-1.152.12z'}
clipRule={'evenodd'}
/>
</svg>
);
}
35 changes: 35 additions & 0 deletions src/icons/chains/IconBNBChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconBNBChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g
fillRule={'evenodd'}
clipPath={'url(#clip0_621_285291)'}
clipRule={'evenodd'}
>
<path
fill={'#F0B90B'}
d={'M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0z'}
/>
<path
fill={'#fff'}
d={'M22.135 15.118l-.013-2.491h.01L19.87 11.38l-3.877 2.138-3.853-2.138-2.26 1.246v2.491l3.876 2.128v4.265l2.25 1.234 2.252-1.234v-4.265l3.877-2.128zM15.995 5L9.878 8.373l2.251 1.246 3.866-2.138 3.876 2.138 2.251-1.246L15.995 5zM8.264 20.255L8.25 16l-2.25-1.244v6.756l6.128 3.362v-2.491l-3.865-2.128zm-.013-6.03v-2.48l2.262-1.246-2.262-1.245L6 10.499v2.48l2.251 1.246zm7.744-4.971l-2.252 1.245 2.252 1.246 2.262-1.246-2.263-1.245zm-3.866 8.874l-2.251-1.246v2.491l2.251 1.234v-2.48zm3.866 6.392l-2.252-1.245v2.48L15.995 27l2.262-1.246v-2.48l-2.263 1.246zm7.741-15.266l-2.25 1.245 2.25 1.246v2.48L26 12.979v-2.48l-2.263-1.245zm2.264 5.5L23.749 16l-.013 4.255-3.864 2.126v2.491L26 21.511v-6.757zm-3.878 4.62l-2.252 1.233v-2.48l2.252-1.245v2.491z'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285291'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
31 changes: 31 additions & 0 deletions src/icons/chains/IconBaseChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconBaseChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285370)'}>
<path
fill={'#1C55F5'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#fff'}
d={'M15.977 29C23.17 29 29 23.18 29 16S23.17 3 15.977 3C9.154 3 3.557 8.24 3 14.907h17.213v2.186H3C3.556 23.761 9.154 29 15.977 29z'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285370'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
33 changes: 33 additions & 0 deletions src/icons/chains/IconCantoChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconCantoChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285364)'}>
<path
fill={'#06FC99'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#000'}
fillRule={'evenodd'}
d={'M25 6v20H10.375v-3.53H7V9.53h3.375V6H25zM13.187 9.53h8.438v3.529h-8.438v-3.53zm8.438 10h-8.438v-6.471H9.812v6.47h3.375v3.53h8.438v-3.53z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285364'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
33 changes: 33 additions & 0 deletions src/icons/chains/IconCronosChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconCronosChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285297)'}>
<path
fill={'#051221'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#fff'}
fillRule={'evenodd'}
d={'M15.992 4L6 10v12l9.992 6h.016L26 22V10l-2.964 1.781v8.455l-7.044 4.22v-.018l-7.028-4.219v-8.455l7.028-4.202 7.044 4.219L26 10 15.992 4zm.016 17.602l4.663-2.8-1.932-1.16-2.73 1.643-2.732-1.642v-3.268l2.715-1.643 2.73 1.643 1.95-1.176-4.664-2.801-4.68 2.8v5.603l4.68 2.801z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285297'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
45 changes: 45 additions & 0 deletions src/icons/chains/IconEtherumChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconEtherumChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285293)'}>
<path
fill={'#627EEA'}
d={'M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16z'}
/>
<path
fill={'#fff'}
fillRule={'evenodd'}
d={'M9 16.223L16.5 4v8.872L9 16.222zm7.5 5.748V28L9 17.619l7.5 4.352z'}
clipRule={'evenodd'}
/>
<path
fill={'#fff'}
fillOpacity={'0.2'}
d={'M16.5 20.576l7.499-4.353-7.499-3.35v7.704z'}
/>
<path
fill={'#fff'}
fillOpacity={'0.602'}
fillRule={'evenodd'}
d={'M16.5 4v8.872l7.498 3.35L16.5 4zm0 17.972V28l7.503-10.381-7.503 4.353zm0-1.396L9 16.224l7.5-3.35v7.704z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285293'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
24 changes: 24 additions & 0 deletions src/icons/chains/IconFantomChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconFantomChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<path
fill={'#1969FF'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#fff'}
d={'M15.01 5.22a2.274 2.274 0 011.953 0l5.659 2.998a.955.955 0 01.55.712h.005v15.068a.941.941 0 01-.555.785l-5.658 2.997a2.274 2.274 0 01-1.952 0l-5.658-2.997a.923.923 0 01-.543-.784V8.93a.93.93 0 01.543-.712l5.657-2.998zm7.277 12.117l-5.323 2.82a2.274 2.274 0 01-1.952 0L9.7 17.343v6.625l5.312 2.8c.263.16.552.272.854.33l.122.009c.332-.033.652-.14.938-.314l5.36-2.85v-6.606zM7.89 23.67c-.027.417.041.836.198 1.223.135.248.335.455.577.597l.017.012c.067.045.14.092.228.147l.104.064.321.195-.459.764-.36-.218-.06-.037a7.924 7.924 0 01-.27-.174c-.86-.581-1.18-1.215-1.187-2.534v-.04h.89zm7.65-10.372a.81.81 0 00-.113.048L9.77 16.345l-.017.01-.005.002.01.005.012.008 5.658 2.997c.036.02.074.036.113.05v-6.119zm.893 0v6.117a.814.814 0 00.114-.05l5.658-2.997.017-.01.005-.002-.01-.005-.012-.008-5.658-2.997a.804.804 0 00-.113-.048zm5.852-3.3l-5.074 2.69 5.075 2.688V10zM9.7 10.007v5.365l5.063-2.683L9.7 10.006zm6.848-3.996a1.402 1.402 0 00-1.12 0L9.77 9.008l-.017.01-.005.002.01.005.012.008 5.658 2.997a1.402 1.402 0 001.12 0l5.658-2.997.017-.01.005-.003-.01-.005-.012-.007-5.658-2.998zm6.575.329l.36.218.06.037c.104.064.19.12.27.174.86.581 1.18 1.215 1.187 2.533v.04h-.89a2.786 2.786 0 00-.2-1.224 1.556 1.556 0 00-.576-.598l-.017-.011a8.282 8.282 0 00-.228-.147l-.104-.065-.322-.194.46-.763z'}
/>
</svg>
);
}
33 changes: 33 additions & 0 deletions src/icons/chains/IconFuseChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconFuseChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285349)'}>
<path
fill={'#AAF7AF'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#000'}
fillRule={'evenodd'}
d={'M12.568 7.064l3.29-2.02a.289.289 0 01.304 0l8.674 5.324a.33.33 0 01.152.279L25 14.309a.327.327 0 01-.153.281l-3.286 2.018c-.202.125-.455-.03-.456-.279l-.01-3.287a.327.327 0 00-.153-.278l-8.374-5.14a.333.333 0 010-.56zm-2.126 16.589l-3.29-2.02a.325.325 0 01-.152-.28v-10.65c0-.115.058-.221.151-.28l2.978-1.842a.286.286 0 01.304 0l3.287 2.018a.334.334 0 010 .56l-2.67 1.652a.326.326 0 00-.152.28v10.283c0 .25-.253.404-.456.279zM25 21.353V17.31c0-.249-.254-.404-.457-.28l-8.374 5.142a.289.289 0 01-.303 0l-2.682-1.633c-.202-.123-.455.032-.455.28v4.035c0 .116.059.224.154.281l2.989 1.82c.093.058.209.058.302 0l8.674-5.324a.325.325 0 00.152-.28z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285349'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
38 changes: 38 additions & 0 deletions src/icons/chains/IconKavaChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconKavaChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285361)'}>
<path
fill={'#FF564F'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#fff'}
d={'M9.588 21.997L10.573 25l6.76-9-6.76-9L9.54 9.938l4.49 6.06-4.442 5.999z'}
opacity={'0.2'}
/>
<path
fill={'#fff'}
fillRule={'evenodd'}
d={'M11.571 7H9v17.998h2.571V7zm9.221 17.998H24l-6.666-9L24 7h-3.208l-6.762 8.998 6.762 9z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285361'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
33 changes: 33 additions & 0 deletions src/icons/chains/IconMetisChain.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import React from 'react';

import type {ReactElement} from 'react';

export function IconMetisChain(props: React.SVGProps<SVGSVGElement>): ReactElement {
return (
<svg
width={32}
height={32}
fill={'none'}
xmlns={'http://www.w3.org/2000/svg'}
viewBox={'0 0 32 32'}
{...props}>
<g clipPath={'url(#clip0_621_285575)'}>
<path
fill={'#00DACC'}
d={'M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16z'}
/>
<path
fill={'#313142'}
fillRule={'evenodd'}
d={'M9.5 30.616s1.504-2.639 1.9-4.018c.32-.841.666-1.656 1.037-2.458.461.145.947.223 1.447.223a4.932 4.932 0 003.558-1.524l.051-.052a4.851 4.851 0 00-1.728-.316 4.89 4.89 0 00-3.02 1.051c.447-.946.921-1.866 1.42-2.76.538.198 1.101.29 1.664.29a4.93 4.93 0 003.38-1.354l.05-.052a4.97 4.97 0 00-1.945-.408 4.95 4.95 0 00-2.765.854c.5-.84.999-1.655 1.536-2.43.41.117.845.17 1.267.17a4.918 4.918 0 003.7-1.682l.038-.053a4.631 4.631 0 00-1.523-.25 4.859 4.859 0 00-2.855.934l.024-.032c.034-.046.073-.1.104-.152.32-.42.653-.855.986-1.262 2.074-.696 3.61-2.51 3.98-4.73l.014-.08h-.013c-2.163.579-3.815 2.366-4.263 4.613-.32.394-.64.802-.947 1.209.218-.578.32-1.183.32-1.8 0-.88-.217-1.735-.64-2.497l-.038.052a5.245 5.245 0 00-.973 3.036c0 .802.18 1.603.538 2.326a36.658 36.658 0 00-1.472 2.3 5.168 5.168 0 00-1.293-4.481l-.026.065a5.134 5.134 0 00-.358 1.906c0 1.235.435 2.418 1.216 3.35a49.125 49.125 0 00-1.344 2.603c.038-.276.064-.565.064-.841 0-1.42-.55-2.786-1.536-3.772l-.026.066a5.635 5.635 0 00-.281 1.721c0 1.354.499 2.655 1.408 3.64-.282.618-.55 1.236-.807 1.88a.577.577 0 00-.243-.145 5.046 5.046 0 01-1.293-.59 5.252 5.252 0 00-1.062-.5c-1.04-.35-1.22-.814-1.519-1.584-.117-.302-.252-.65-.465-1.058-.243-.289-.5-.578-.768-.854a1.762 1.762 0 01-.602-.67 3.222 3.222 0 01-.307-1.091 1 1 0 00-.678-.933c-1.95-.687-1.314-3.132-1.136-3.816l.035-.14a5.424 5.424 0 00-.307-1.406 4.39 4.39 0 01-.039-.184 1.969 1.969 0 01.435-1.669c.121-.124.383-.284.645-.444.292-.178.585-.357.687-.489.087-.113.16-.232.233-.349.088-.14.174-.278.279-.4a7.694 7.694 0 012.035-1.498c.402-.224.585-.679.732-1.044.077-.192.144-.359.228-.454.216-.258.497-.375.782-.494.238-.1.48-.201.69-.387a2.09 2.09 0 01.37-.25c.148-.085.295-.17.41-.289a6.937 6.937 0 013.853-1.826c.23-.013.474-.027.717-.027.768 0 1.523.106 2.253.303.14.026.282.052.41.092 2.201.079 4.85.552 5.824 1.511a3.997 3.997 0 011.024 1.708c.153.5.37.986.64 1.433l.588.986c.27.433.41.946.41 1.458 0 .21-.026.42-.064.631-.064.184-.09.381-.09.578 0 .171.026.329.064.486.308.487.679.92 1.088 1.315.167.17.346.315.538.433.448.276.896.579 1.306.907v.079c0 .25-.116.473-.308.604-.37.342-1.1.881-1.1.881.025.158.076.302.128.434.021.041.05.088.08.137.11.185.249.415.188.612-.03.105-.133.204-.235.303-.155.149-.31.299-.225.472.057.123.155.21.243.287.127.112.234.207.166.37-.043.11-.16.256-.278.401-.163.202-.327.405-.298.52.051.196.487 2.036-.512 2.351-1.229.25-2.47.395-3.725.421-.41.026-.78.263-.972.63a3.44 3.44 0 00-.359 1.17 27.828 27.828 0 01-1.433 4.271l-.088.207a12.07 12.07 0 00-.078.182 2.45 2.45 0 00-.167.69c.09.223.217.42.371.59.128.145.845.237 1.05.237-.064.013.064 0 0 0 0 0-1.5 1-5.5 1s-6.5-1.384-6.5-1.384zm10.82-1.307zm0 0l.003-.008-.001.004-.002.004z'}
clipRule={'evenodd'}
/>
</g>
<defs>
<clipPath id={'clip0_621_285575'}>
<path fill={'#fff'} d={'M0 0H32V32H0z'} />
</clipPath>
</defs>
</svg>
);
}
Loading

0 comments on commit 9e21b0f

Please sign in to comment.