Jelajahi Sumber

Merge pull request #2220 from pyth-network/cprussin/add-ltp-to-known-publishers

feat(known-publishers): add LTP to known publisher list
Connor Prussin 10 bulan lalu
induk
melakukan
1b43f818a8

+ 2 - 2
apps/insights/src/components/PriceFeed/publishers.tsx

@@ -1,10 +1,10 @@
 import { lookup as lookupPublisher } from "@pythnetwork/known-publishers";
 import { notFound } from "next/navigation";
-import { createElement } from "react";
 
 import { PublishersCard } from "./publishers-card";
 import { getRankings } from "../../services/clickhouse";
 import { getData } from "../../services/pyth";
+import { PublisherIcon } from "../PublisherIcon";
 
 type Props = {
   params: Promise<{
@@ -33,7 +33,7 @@ export const Publishers = async ({ params }: Props) => {
           stalledScore: ranking.stalled_score,
           ...(knownPublisher && {
             name: knownPublisher.name,
-            icon: createElement(knownPublisher.icon.color),
+            icon: <PublisherIcon knownPublisher={knownPublisher} />,
           }),
         };
       })}

+ 3 - 2
apps/insights/src/components/Publisher/layout.tsx

@@ -13,7 +13,7 @@ import { InfoBox } from "@pythnetwork/component-library/InfoBox";
 import { StatCard } from "@pythnetwork/component-library/StatCard";
 import { lookup } from "@pythnetwork/known-publishers";
 import { notFound } from "next/navigation";
-import { type ReactNode, createElement } from "react";
+import type { ReactNode } from "react";
 
 import { ActiveFeedsCard } from "./active-feeds-card";
 import { ChartCard } from "./chart-card";
@@ -34,6 +34,7 @@ import { FormattedDate } from "../FormattedDate";
 import { FormattedNumber } from "../FormattedNumber";
 import { FormattedTokens } from "../FormattedTokens";
 import { Meter } from "../Meter";
+import { PublisherIcon } from "../PublisherIcon";
 import { PublisherKey } from "../PublisherKey";
 import { PublisherTag } from "../PublisherTag";
 import { SemicircleMeter } from "../SemicircleMeter";
@@ -93,7 +94,7 @@ export const PublishersLayout = async ({ children, params }: Props) => {
             publisherKey={key}
             {...(knownPublisher && {
               name: knownPublisher.name,
-              icon: createElement(knownPublisher.icon.color),
+              icon: <PublisherIcon knownPublisher={knownPublisher} />,
             })}
           />
         </div>

+ 2 - 2
apps/insights/src/components/Publisher/performance.tsx

@@ -5,7 +5,6 @@ import { Card } from "@pythnetwork/component-library/Card";
 import { Table } from "@pythnetwork/component-library/Table";
 import { lookup } from "@pythnetwork/known-publishers";
 import { notFound } from "next/navigation";
-import { createElement } from "react";
 
 import { getRankingsWithData } from "./get-rankings-with-data";
 import styles from "./performance.module.scss";
@@ -13,6 +12,7 @@ import { getPublishers } from "../../services/clickhouse";
 import { getTotalFeedCount } from "../../services/pyth";
 import { PriceFeedIcon } from "../PriceFeedIcon";
 import { PriceFeedTag } from "../PriceFeedTag";
+import { PublisherIcon } from "../PublisherIcon";
 import { PublisherTag } from "../PublisherTag";
 import { Ranking } from "../Ranking";
 import { Score } from "../Score";
@@ -101,7 +101,7 @@ export const Performance = async ({ params }: Props) => {
                     publisherKey={publisher.key}
                     {...(knownPublisher && {
                       name: knownPublisher.name,
-                      icon: createElement(knownPublisher.icon.color),
+                      icon: <PublisherIcon knownPublisher={knownPublisher} />,
                     })}
                   />
                 ),

+ 7 - 0
apps/insights/src/components/PublisherIcon/index.module.scss

@@ -0,0 +1,7 @@
+html[data-theme="dark"] .lightIcon {
+  display: none;
+}
+
+html[data-theme="light"] .darkIcon {
+  display: none;
+}

+ 27 - 0
apps/insights/src/components/PublisherIcon/index.tsx

@@ -0,0 +1,27 @@
+import "server-only";
+
+import type { lookup as lookupPublisher } from "@pythnetwork/known-publishers";
+
+import styles from "./index.module.scss";
+
+type Props = {
+  knownPublisher: NonNullable<ReturnType<typeof lookupPublisher>>;
+};
+
+export const PublisherIcon = ({ knownPublisher }: Props) => {
+  if ("dark" in knownPublisher.icon) {
+    const { dark: Dark, light: Light } = knownPublisher.icon;
+    return (
+      <>
+        <Dark className={styles.darkIcon} />
+        <Light className={styles.lightIcon} />
+      </>
+    );
+  } else {
+    const Icon =
+      "color" in knownPublisher.icon
+        ? knownPublisher.icon.color
+        : knownPublisher.icon.monochrome;
+    return <Icon />;
+  }
+};

+ 2 - 2
apps/insights/src/components/Publishers/index.tsx

@@ -6,7 +6,6 @@ import { Button } from "@pythnetwork/component-library/Button";
 import { Card } from "@pythnetwork/component-library/Card";
 import { StatCard } from "@pythnetwork/component-library/StatCard";
 import { lookup as lookupPublisher } from "@pythnetwork/known-publishers";
-import { createElement } from "react";
 
 import styles from "./index.module.scss";
 import { PublishersCard } from "./publishers-card";
@@ -19,6 +18,7 @@ import {
   getDistributedRewards,
 } from "../../services/staking";
 import { FormattedTokens } from "../FormattedTokens";
+import { PublisherIcon } from "../PublisherIcon";
 import { PublisherTag } from "../PublisherTag";
 import { SemicircleMeter, Label } from "../SemicircleMeter";
 import { TokenIcon } from "../TokenIcon";
@@ -162,7 +162,7 @@ export const Publishers = async () => {
                 medianScore: medianScore,
                 ...(knownPublisher && {
                   name: knownPublisher.name,
-                  icon: createElement(knownPublisher.icon.color),
+                  icon: <PublisherIcon knownPublisher={knownPublisher} />,
                 }),
               };
             },

+ 2 - 2
apps/insights/src/components/Root/index.tsx

@@ -2,7 +2,6 @@ import { lookup as lookupPublisher } from "@pythnetwork/known-publishers";
 import { Root as BaseRoot } from "@pythnetwork/next-root";
 import { NuqsAdapter } from "nuqs/adapters/next/app";
 import type { ReactNode } from "react";
-import { createElement } from "react";
 
 import { Footer } from "./footer";
 import { Header } from "./header";
@@ -20,6 +19,7 @@ import { getPublishers } from "../../services/clickhouse";
 import { getData } from "../../services/pyth";
 import { LivePricesProvider } from "../LivePrices";
 import { PriceFeedIcon } from "../PriceFeedIcon";
+import { PublisherIcon } from "../PublisherIcon";
 
 type Props = {
   children: ReactNode;
@@ -51,7 +51,7 @@ export const Root = async ({ children }: Props) => {
             medianScore: publisher.medianScore,
             ...(knownPublisher && {
               name: knownPublisher.name,
-              icon: createElement(knownPublisher.icon.color),
+              icon: <PublisherIcon knownPublisher={knownPublisher} />,
             }),
           };
         })}

+ 5 - 0
apps/staking/src/known-publishers.ts

@@ -1,6 +1,7 @@
 import blocksize from "./publisher-icons/blocksize.svg";
 import elfomo from "./publisher-icons/elfomo.svg";
 import finazon from "./publisher-icons/finazon.svg";
+import ltp from "./publisher-icons/ltp.svg";
 import sentio from "./publisher-icons/sentio.svg";
 import woo from "./publisher-icons/woo.svg";
 
@@ -25,4 +26,8 @@ export const KNOWN_PUBLISHERS = {
     name: "WOO",
     icon: woo,
   },
+  GUcFC3NBuVSf9rdQqW3t2sBcP6sEp269rtPxxGyvAHoM: {
+    name: "LTP",
+    icon: ltp,
+  },
 };

+ 6 - 0
apps/staking/src/publisher-icons/ltp.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" version="1.0" viewBox="0 0 716 799.85492" fill="currentColor">
+  <path d="m 306,27.130738 c -34.3,19.8 -48,28.2 -49.2,30.3 -2.3,3.7 -2.3,7.4 0.2,10.6 1.1,1.4 77.6,46.000002 174.6,101.800002 l 172.6,99.4 -0.3,200.2 -0.4,200.3 2.7,2.7 c 2.1,2 3.7,2.7 7,2.7 3.9,0.1 9.3,-2.8 52.2,-27.4 42,-24.1 48,-27.9 49.2,-30.7 1.2,-2.7 1.4,-36.9 1.4,-204 0,-129.8 -0.4,-202.1 -1,-204.4 -0.6,-1.9 -2,-4.5 -3.2,-5.6 -1.3,-1.2 -80.4,-47.3 -175.8,-102.4 C 384.8,13.130738 361.9,0.23073822 358,0.03073822 c -4.3,-0.3 -7,1.09999998 -52,27.09999978 z"/>
+  <path d="m 277.5,253.43074 c -1.1,0.3 -23.6,12.9 -50,28.1 -34.1,19.7 -48.3,28.4 -49.2,30.2 -1.9,3.7 -1.9,197.3 0,201 0.9,1.8 25.4,16.5 87.7,52.8 84,48.8 86.6,50.2 91,49.8 3.7,-0.3 12.6,-5 49.5,-26 24.8,-14.1 46.1,-26.8 47.5,-28.2 1.9,-1.9 2.5,-3.5 2.5,-7 0,-3.8 -0.5,-5 -3.1,-7.2 -1.7,-1.5 -39.4,-23.4 -83.8,-48.7 l -80.7,-46 0.4,-95.5 c 0.2,-52.6 0,-96.5 -0.4,-97.7 -1.3,-3.7 -7.1,-6.5 -11.4,-5.6 z"/>
+  <path d="m 2.6,260.33074 -2.6,2.7 v 176.7 c 0,166.9 0.1,176.9 1.8,178.8 0.9,1 71.7,42.2 157.2,91.3 172.1,98.9 161.2,93.3 168.1,87.1 l 3.4,-3 0.3,-55.4 0.2,-55.4 -2.2,-3.4 c -1.8,-2.6 -24.6,-16.2 -109.3,-65.4 l -107,-62.2 -0.5,-118.2 c -0.5,-116.5 -0.5,-118.2 -2.5,-120.1 -1.1,-1 -23.2,-14.1 -49.2,-29 -51.9,-29.8 -52.2,-29.9 -57.7,-24.5 z"/>
+  <path d="m 499.5,613.33074 c -11.1,5.7 -92.1,53.4 -94.1,55.3 l -2.4,2.4 v 57.2 57.2 l 2.3,2.1 c 2.9,2.8 7.8,3.7 10.8,2.2 1.3,-0.7 23.4,-13.4 49,-28.2 33.9,-19.6 47,-27.8 48.2,-29.8 1.5,-2.5 1.7,-8.4 1.7,-57 0,-60.1 0.1,-58.8 -6.5,-61.6 -4.3,-1.8 -5.3,-1.8 -9,0.2 z"/>
+</svg>

+ 7 - 0
packages/known-publishers/src/icons/dark/ltp.svg

@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 953.50398 1066.667">
+  <path fill="#007cf7" d="M 7041.9483 3071.9899 C 7025.5645 3071.9899 7009.1747 3067.8949 6996.8897 3059.6998 L 6079.4287 2527.1852 C 6054.8487 2510.7952 6030.2832 2478.0411 6030.2832 2445.2711 L 6030.2832 1388.4303 C 6030.2832 1355.6606 6046.6587 1322.892 6079.4287 1306.5016 C 6095.8087 1298.3116 6112.1943 1298.3131 6128.5742 1298.3131 C 6144.9642 1298.3131 6161.3444 1306.5042 6177.7344 1314.7047 L 7095.1954 1847.2047 C 7119.7653 1863.5847 7144.3409 1896.3635 7144.3409 1929.1334 L 7144.3409 2977.7858 C 7136.1409 3010.5557 7119.7669 3043.3199 7087.0069 3059.6998 C 7074.7169 3067.8949 7058.332 3071.9899 7041.9483 3071.9899 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#ff9600" d="M 3404.8584 7946.5359 C 3388.4746 7946.5359 3372.0994 7942.4408 3359.8144 7934.2459 L 2425.9618 7401.7458 C 2393.2019 7385.3659 2376.8163 7352.5871 2376.8163 7319.8171 C 2376.8163 7287.0472 2393.2034 7254.2784 2417.7734 7237.8884 L 3368.0029 6688.9968 C 3384.3829 6680.8068 3400.7684 6672.6052 3417.1484 6672.6052 C 3433.5284 6672.6052 3449.9139 6680.8068 3466.2939 6688.9968 L 4400.1465 7229.6999 C 4424.7264 7246.0799 4441.1035 7278.8487 4441.1035 7311.6287 C 4441.1035 7344.3886 4424.7133 7377.1673 4391.9433 7393.5574 L 3449.917 7934.2459 C 3437.627 7942.4408 3421.2421 7946.5359 3404.8584 7946.5359 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#fff" d="M 2094.204 6619.3581 C 2077.8215 6619.3581 2061.4354 6615.2581 2049.1454 6607.0681 C 2024.5655 6590.6781 1999.9999 6557.9093 1999.9999 6525.1394 L 1999.9999 3076.0914 C 1999.9999 3043.3214 2016.3755 3010.5527 2049.1454 2994.1627 L 5153.7647 1208.1959 C 5170.1546 1200.0059 5186.5448 1199.9928 5202.9248 1199.9928 C 5219.3048 1199.9928 5235.6903 1208.1839 5252.0703 1216.3844 C 5276.6503 1232.7644 5301.2158 1265.5434 5301.2158 1298.3131 L 5301.2158 2363.3424 C 5293.0258 2387.9224 5276.6519 2420.688 5243.8818 2437.068 L 3114.0576 3674.1432 L 3114.0576 5992.6247 C 3114.0576 6025.3947 3097.682 6058.1734 3064.9121 6074.5534 L 2139.2626 6607.0681 C 2126.9726 6615.2581 2110.5865 6619.3581 2094.204 6619.3581 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#fff" d="M 4797.4414 6660.3152 C 4781.0577 6660.3152 4764.6728 6656.2151 4752.3828 6648.0251 L 3826.7334 6115.5251 C 3793.9634 6099.1352 3777.5732 6066.3663 3777.5732 6033.5964 L 3777.5732 4116.5407 C 3777.5732 4083.7707 3793.9634 4051.0019 3826.7334 4034.612 L 5522.3926 3051.5114 C 5538.7826 3043.3214 5555.1628 3043.3229 5571.5527 3043.3229 C 5587.9327 3043.3229 5604.3082 3051.5099 5620.6983 3059.6998 L 6513.5791 3567.6344 C 6546.3491 3592.2145 6562.7246 3624.9963 6562.7246 3657.7663 C 6562.7246 3690.5363 6546.3491 3723.3003 6513.5791 3739.6803 L 4883.457 4673.6354 L 4891.6455 6566.1111 C 4891.6455 6598.8811 4875.2553 6631.6352 4842.4853 6648.0251 C 4830.2004 6656.2151 4813.8251 6660.3152 4797.4414 6660.3152 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#fff" d="M 5575.6397 9200.0027 C 5559.2559 9200.0027 5542.8807 9195.9077 5530.5957 9187.7127 L 4604.9316 8655.198 C 4580.3617 8638.808 4555.7861 8606.0393 4555.7861 8573.2693 C 4555.7861 8540.4994 4572.1717 8507.7352 4604.9316 8491.3553 L 8045.4102 6508.7478 L 8037.2218 2543.5768 C 8037.2218 2510.8068 8053.6073 2478.038 8086.3673 2461.6481 C 8102.7472 2453.4581 8119.1328 2445.2711 8135.5128 2445.2711 C 8151.9028 2445.2711 8168.2945 2445.2696 8176.4845 2453.4596 L 9102.1339 2985.9743 C 9134.9039 3002.3642 9151.2794 3035.1284 9151.2794 3067.8883 L 9151.2794 7082.2341 C 9143.0894 7131.3941 9126.7154 7164.1598 9093.9454 7180.5398 L 5620.6983 9187.7127 C 5608.4082 9195.9077 5592.0234 9200.0027 5575.6397 9200.0027 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+</svg>

+ 7 - 0
packages/known-publishers/src/icons/light/ltp.svg

@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 953.50398 1066.667">
+  <path fill="#007cf7" d="M 7041.9483 3071.9899 C 7025.5645 3071.9899 7009.1747 3067.8949 6996.8897 3059.6998 L 6079.4287 2527.1852 C 6054.8487 2510.7952 6030.2832 2478.0411 6030.2832 2445.2711 L 6030.2832 1388.4303 C 6030.2832 1355.6606 6046.6587 1322.892 6079.4287 1306.5016 C 6095.8087 1298.3116 6112.1943 1298.3131 6128.5742 1298.3131 C 6144.9642 1298.3131 6161.3444 1306.5042 6177.7344 1314.7047 L 7095.1954 1847.2047 C 7119.7653 1863.5847 7144.3409 1896.3635 7144.3409 1929.1334 L 7144.3409 2977.7858 C 7136.1409 3010.5557 7119.7669 3043.3199 7087.0069 3059.6998 C 7074.7169 3067.8949 7058.332 3071.9899 7041.9483 3071.9899 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#ff9600" d="M 3404.8584 7946.5359 C 3388.4746 7946.5359 3372.0994 7942.4408 3359.8144 7934.2459 L 2425.9618 7401.7458 C 2393.2019 7385.3659 2376.8163 7352.5871 2376.8163 7319.8171 C 2376.8163 7287.0472 2393.2034 7254.2784 2417.7734 7237.8884 L 3368.0029 6688.9968 C 3384.3829 6680.8068 3400.7684 6672.6052 3417.1484 6672.6052 C 3433.5284 6672.6052 3449.9139 6680.8068 3466.2939 6688.9968 L 4400.1465 7229.6999 C 4424.7264 7246.0799 4441.1035 7278.8487 4441.1035 7311.6287 C 4441.1035 7344.3886 4424.7133 7377.1673 4391.9433 7393.5574 L 3449.917 7934.2459 C 3437.627 7942.4408 3421.2421 7946.5359 3404.8584 7946.5359 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#0d2a50" d="M 2094.204 6619.3581 C 2077.8215 6619.3581 2061.4354 6615.2581 2049.1454 6607.0681 C 2024.5655 6590.6781 1999.9999 6557.9093 1999.9999 6525.1394 L 1999.9999 3076.0914 C 1999.9999 3043.3214 2016.3755 3010.5527 2049.1454 2994.1627 L 5153.7647 1208.1959 C 5170.1546 1200.0059 5186.5448 1199.9928 5202.9248 1199.9928 C 5219.3048 1199.9928 5235.6903 1208.1839 5252.0703 1216.3844 C 5276.6503 1232.7644 5301.2158 1265.5434 5301.2158 1298.3131 L 5301.2158 2363.3424 C 5293.0258 2387.9224 5276.6519 2420.688 5243.8818 2437.068 L 3114.0576 3674.1432 L 3114.0576 5992.6247 C 3114.0576 6025.3947 3097.682 6058.1734 3064.9121 6074.5534 L 2139.2626 6607.0681 C 2126.9726 6615.2581 2110.5865 6619.3581 2094.204 6619.3581 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#0d2a50" d="M 4797.4414 6660.3152 C 4781.0577 6660.3152 4764.6728 6656.2151 4752.3828 6648.0251 L 3826.7334 6115.5251 C 3793.9634 6099.1352 3777.5732 6066.3663 3777.5732 6033.5964 L 3777.5732 4116.5407 C 3777.5732 4083.7707 3793.9634 4051.0019 3826.7334 4034.612 L 5522.3926 3051.5114 C 5538.7826 3043.3214 5555.1628 3043.3229 5571.5527 3043.3229 C 5587.9327 3043.3229 5604.3082 3051.5099 5620.6983 3059.6998 L 6513.5791 3567.6344 C 6546.3491 3592.2145 6562.7246 3624.9963 6562.7246 3657.7663 C 6562.7246 3690.5363 6546.3491 3723.3003 6513.5791 3739.6803 L 4883.457 4673.6354 L 4891.6455 6566.1111 C 4891.6455 6598.8811 4875.2553 6631.6352 4842.4853 6648.0251 C 4830.2004 6656.2151 4813.8251 6660.3152 4797.4414 6660.3152 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+  <path fill="#0d2a50" d="M 5575.6397 9200.0027 C 5559.2559 9200.0027 5542.8807 9195.9077 5530.5957 9187.7127 L 4604.9316 8655.198 C 4580.3617 8638.808 4555.7861 8606.0393 4555.7861 8573.2693 C 4555.7861 8540.4994 4572.1717 8507.7352 4604.9316 8491.3553 L 8045.4102 6508.7478 L 8037.2218 2543.5768 C 8037.2218 2510.8068 8053.6073 2478.038 8086.3673 2461.6481 C 8102.7472 2453.4581 8119.1328 2445.2711 8135.5128 2445.2711 C 8151.9028 2445.2711 8168.2945 2445.2696 8176.4845 2453.4596 L 9102.1339 2985.9743 C 9134.9039 3002.3642 9151.2794 3035.1284 9151.2794 3067.8883 L 9151.2794 7082.2341 C 9143.0894 7131.3941 9126.7154 7164.1598 9093.9454 7180.5398 L 5620.6983 9187.7127 C 5608.4082 9195.9077 5592.0234 9200.0027 5575.6397 9200.0027 z" transform="matrix(.13333 0 0 -.13333 -266.667 1226.667)"/>
+</svg>

+ 6 - 0
packages/known-publishers/src/icons/monochrome/ltp.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" version="1.0" viewBox="0 0 716 799.85492" fill="currentColor">
+  <path d="m 306,27.130738 c -34.3,19.8 -48,28.2 -49.2,30.3 -2.3,3.7 -2.3,7.4 0.2,10.6 1.1,1.4 77.6,46.000002 174.6,101.800002 l 172.6,99.4 -0.3,200.2 -0.4,200.3 2.7,2.7 c 2.1,2 3.7,2.7 7,2.7 3.9,0.1 9.3,-2.8 52.2,-27.4 42,-24.1 48,-27.9 49.2,-30.7 1.2,-2.7 1.4,-36.9 1.4,-204 0,-129.8 -0.4,-202.1 -1,-204.4 -0.6,-1.9 -2,-4.5 -3.2,-5.6 -1.3,-1.2 -80.4,-47.3 -175.8,-102.4 C 384.8,13.130738 361.9,0.23073822 358,0.03073822 c -4.3,-0.3 -7,1.09999998 -52,27.09999978 z"/>
+  <path d="m 277.5,253.43074 c -1.1,0.3 -23.6,12.9 -50,28.1 -34.1,19.7 -48.3,28.4 -49.2,30.2 -1.9,3.7 -1.9,197.3 0,201 0.9,1.8 25.4,16.5 87.7,52.8 84,48.8 86.6,50.2 91,49.8 3.7,-0.3 12.6,-5 49.5,-26 24.8,-14.1 46.1,-26.8 47.5,-28.2 1.9,-1.9 2.5,-3.5 2.5,-7 0,-3.8 -0.5,-5 -3.1,-7.2 -1.7,-1.5 -39.4,-23.4 -83.8,-48.7 l -80.7,-46 0.4,-95.5 c 0.2,-52.6 0,-96.5 -0.4,-97.7 -1.3,-3.7 -7.1,-6.5 -11.4,-5.6 z"/>
+  <path d="m 2.6,260.33074 -2.6,2.7 v 176.7 c 0,166.9 0.1,176.9 1.8,178.8 0.9,1 71.7,42.2 157.2,91.3 172.1,98.9 161.2,93.3 168.1,87.1 l 3.4,-3 0.3,-55.4 0.2,-55.4 -2.2,-3.4 c -1.8,-2.6 -24.6,-16.2 -109.3,-65.4 l -107,-62.2 -0.5,-118.2 c -0.5,-116.5 -0.5,-118.2 -2.5,-120.1 -1.1,-1 -23.2,-14.1 -49.2,-29 -51.9,-29.8 -52.2,-29.9 -57.7,-24.5 z"/>
+  <path d="m 499.5,613.33074 c -11.1,5.7 -92.1,53.4 -94.1,55.3 l -2.4,2.4 v 57.2 57.2 l 2.3,2.1 c 2.9,2.8 7.8,3.7 10.8,2.2 1.3,-0.7 23.4,-13.4 49,-28.2 33.9,-19.6 47,-27.8 48.2,-29.8 1.5,-2.5 1.7,-8.4 1.7,-57 0,-60.1 0.1,-58.8 -6.5,-61.6 -4.3,-1.8 -5.3,-1.8 -9,0.2 z"/>
+</svg>

+ 12 - 3
packages/known-publishers/src/index.tsx

@@ -1,9 +1,12 @@
 import finazonColor from "./icons/color/finazon.svg";
 import sentioColor from "./icons/color/sentio.svg";
 import wooColor from "./icons/color/woo.svg";
+import ltpDark from "./icons/dark/ltp.svg";
+import ltpLight from "./icons/light/ltp.svg";
 import blocksize from "./icons/monochrome/blocksize.svg";
 import elfomo from "./icons/monochrome/elfomo.svg";
 import finazonMonochrome from "./icons/monochrome/finazon.svg";
+import ltpMonochrome from "./icons/monochrome/ltp.svg";
 import sentioMonochrome from "./icons/monochrome/sentio.svg";
 import wooMonochrome from "./icons/monochrome/woo.svg";
 
@@ -12,7 +15,6 @@ export const knownPublishers = {
     name: "BLOCKSIZE",
     icon: {
       monochrome: blocksize,
-      color: blocksize,
     },
   },
   "89ijemG1TUL2kdV2RtCrhXzY5QhyKHsWqCmP5iobvLUF": {
@@ -33,7 +35,6 @@ export const knownPublishers = {
     name: "Elfomo",
     icon: {
       monochrome: elfomo,
-      color: elfomo,
     },
   },
   DANa2ZYtyUcSW8W8C25ZfscKdBra53npt2frmh7fUucf: {
@@ -43,7 +44,15 @@ export const knownPublishers = {
       color: wooColor,
     },
   },
-};
+  GUcFC3NBuVSf9rdQqW3t2sBcP6sEp269rtPxxGyvAHoM: {
+    name: "LTP",
+    icon: {
+      monochrome: ltpMonochrome,
+      dark: ltpDark,
+      light: ltpLight,
+    },
+  },
+} as const;
 
 export const lookup = (value: string) =>
   value in knownPublishers