From d312fa775cdd80c9e7e8d4cd607bd6051a4c3521 Mon Sep 17 00:00:00 2001 From: Connor Prussin Date: Thu, 10 Oct 2024 08:55:06 -0700 Subject: [PATCH] feat(staking): add Sentio to known publishers --- .../public/publisher-icons/blocksize.png | Bin 152681 -> 0 bytes apps/staking/src/api.ts | 10 +++++----- .../OracleIntegrityStaking/index.tsx | 16 +++++++--------- apps/staking/src/known-publishers.ts | 9 ++++++++- apps/staking/src/publisher-icons/blocksize.svg | 6 ++++++ apps/staking/src/publisher-icons/sentio.svg | 4 ++++ 6 files changed, 30 insertions(+), 15 deletions(-) delete mode 100644 apps/staking/public/publisher-icons/blocksize.png create mode 100644 apps/staking/src/publisher-icons/blocksize.svg create mode 100644 apps/staking/src/publisher-icons/sentio.svg diff --git a/apps/staking/public/publisher-icons/blocksize.png b/apps/staking/public/publisher-icons/blocksize.png deleted file mode 100644 index f93928d89e1d510ec48d6bb0afd6beedc01f8f8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152681 zcmeI54~!Jm9mnUEh5G}C$4TI@f~&#WCTP!63&}~{t5<<&)i$J|MdLvmsUaZLmb2P; zi=+i3wS*?sq+&@(Oxl!+ZK|N5tV(kvO_1~-f4nGK6`Nkc*b4afy0h$i@3(W`jhCAH z2OkphzO#3`GxM2wpLz4{z1jP2ynb$d-FbCU6xGk4*Y?#Yn!GapUo)og%0CvYyE;lO zXrABJy5P>kJ>8GjKYQcEbn6RMa~k${-nM>x!+qc1G^^v?wNw6i-j3AjtGdQSzwVjy z-p;DRTZ{iz?7DT`C!+SR|KiYrdiUD)Ik(<0E6P8$x~jvyR9@!(^m3~F6}ObTKiA@N zd6`Xj`<0geYkyvQBNGvp5Bo-Pj5(^C%i6x@pBDtI` z4VP2DyQ8bvC9?MYZ70WV&C2ePTy3Q;kWW_XgLtS?e@1(%Qr`?K5oaQ}1eA!gOHrXR z3M#luK#94e8DyNGyy%kXRUjAh9q4L1Lld zBC*hL(OACo-Kyxi4eK`R0aS`kptih?pQT3K?=_}X}F=?^-WuZkbzQuePn-epq!Qq!xq z?^@b4dK0sN$^e~SKy3mFY7sn2v?8dW6#)gUC@8d6Bo(wGu%HzI1+6G3 zXhl*%D+0@qXl2i|^Bd!Bsd=~e@GIlORxM0zFMrT&BfTPlj!Q#w$lS`Kh-wsA_{1^s zC`_O)!NBm5z66iL1hiscxQJF930tBSOT%Tf;z-yMtymhRj8+5``Vtfr`Vu4+v?8#e z6#-?CwX$d5)UokajCs2UkFS;7!L?Tx zzg@Yt_m)KuSA}(48ztuaaAy(V_(T)HqcDNGYGAnd@$0JlByRHq37e>lmWInzMn}Sw zR7L~CM{e^y3KP(Zf#D-s@hCz-D}hBwXeF=+39SScA)%GP!Y8!iQJ65?wURry^P6#p zO0M<8zu*0%uVhT;N^vh3J!B51kBoKpC`@3ivw`6wgAzT85YS3s5fWMnEJ8vnfkjAY zC9v=bt#}kBpcMndN3`Nmn1EIc3>VRgBVkLlVrjUHRvZaip0QeKxO-*sL9>}RdY9cl zGwgDEZN7ZY&wQR38|e6S#-0~`51FbNP?*GlH!xhJo#9B>l6Hor;WF(EN5Yn9#nLEc zv?8Dk@(l3g7H~|GMB-&suc)AUMFrIhDriMOK`RQ%u)i^FXz7>{Z+P?Gm+pGLxo&!L zCm5TSBoZ$(Hce1rY?^?=%vJ@3nXQrvS`k>#ihzPv6cn@~sh|~s1+54uXhlImE0PLY z5m?ZQfN}^028NGZPdo|}xSkjoE}|7j!j@>o(r_8A zI1;u*E0#tnqZI*VV4A5*jy^CtUfGy;79F2*&6;#_#f(i$5-BV*HcdcbY?^{H?8m0{ z*=TBfA0*Uxfu!&fgWMGt2DvLLXhl$=At9ik6$OQcgrtI21QxU+pr9261+7Rb{nbjg z=a~zO51rl8``D%X!bjyUjuLZz*0hA5+C*KoG+gG+!jZ5gcNUh0%l)mZ?)SNG4J2&h z?6Ndm=InALOvy#d!0?famPcU%S}`zuL@ORe2xuj+2nnqO79pXPz#=5H5?J_zRy+z5 zhPzg>J>6BcxonhfopA0CKE15zxl?t!r%e0dlpU$b?a5g_nba|}XEsh)S#1|XUZ1Pb zA(Ks4nnZL_r3c?ORCR<8wkcP$W0YMExh+36EZD@ZSQnVcXE^m)OgnL8W6U+XzxTkT zrIv8MF}Jy8Qv6EOtGDl3+BAAorJf6>Jz8!qGwsoluqD$TEsauU+M|FnFw-8BE5cn# zBJncrQdDr4pn|&u6x^ktpcP34tq3e=ML%yWf6f z@xC#hfIwjzJ<^?O!Cx#Nvx z^UaUccXhw!zp%3Dy@r+5xf>SUtr!?Cq7_HNmT1M&a2c&Q61GGumPRR~6#<2|u!1rY24*$fy|Oq9DDy_|vioP2 z??pVSr7IP`w)XvPC&z8gHdcCuEdDGfcX|nb3M%+hK*661%1H2M`F2y|%Xt)+sPO^{ zHC{oX#!D(_MPNZI0t#ADP|%8`f>s0;v?8FO6$PaqTG_L2YVo1eg&fwJIuTMNmQY0t#ADPr*ScHVT0t=sTmq%d&S}`zuL@OSJ324Q@a1pII61GGumWIn{ z#gVWjTCp@r8LbE?+-WH&1JXsA`-lgpFb+x`3Z~C0Dop=UR2W_%xM(RVT(krgv?8FO6$OQhmZXAK1QxU+po|o)RC;hqdu_ga&d>Zx zk5Z>urVc;NGDQV{3M%+hKp83i44Y1k4=h5W#s?NYQR6)d6KF^n7(SvEkHQ4BVqmz4 zRvZaiq7_TSWwhc**b=Q+8l{X@1eAW*(Hg@%Z#!U zR2XF^pfJi#K^c%yc70ZayZRt0ynwp|72GAD;4TFPcS$N}MPNZI0t#ADP|%8`f>s0; zv?8DkjaHVNGrsts+4KjU%U6vFn>C{s0-E?NQ#T2WAV=7XeyRsVRg zBVkLlVrjUHRvZaiq7_S{l+lWSLjR6}LjR7Wf>s2UkJd`Ir~C2vjrmOHzvevmsg21G zVMJGwNW9F5E=A>R8qt;9f9gq+NW4rvQBF)QXUemte-Qx_@LQ_|Mvd=k5j@{ZBMtC&-t0Y zvO4_KCeCn6!)4BJN5Ygta)yWXb4&sYpExESg$Xof3=AJpy+>gJS}`zOL@SPjEzydl z;WAorBy5RRER9k|D*_6=>kQ=nMazJoC>JW=CU_TQZ?iAIth&g?T~QbaySo*koXyZAsw&Vo1G(x83 z9axw|%iF*Rk(PI0VG=EG10%$d(DFX@+v;`22h`sC;qE79`wQ^to%mUlm@kyB)Pcc# ztZ>+U`sn#s{#RXK60sv;OU^D!qm((j1QaF_D=17NmQ>J+z=Bo;6ttqCpcP34tq3e= zMLt=VEW`!OIxY0T#rBP&S~iI*8&tf(-$ zSW#gZprC?Q1QfKQpfI{vQb8*M3tACS(29bBRwNa)BCwzp0R^onC}>4e849grP8=yd zq&B<1_rRp3VYBj$TQ;{$ikF*Sy?xixrqP=!O}gPWKTr#a+x);Hq@g&&!`e9}fkj9h olfc3!8Z#b+3By(Oljbh{^18nsdhlqxt@FQhecNxo*naQ-0N2}GEdT%j diff --git a/apps/staking/src/api.ts b/apps/staking/src/api.ts index 9759488b20..6e6e24e72c 100644 --- a/apps/staking/src/api.ts +++ b/apps/staking/src/api.ts @@ -50,10 +50,7 @@ type Data = { z: bigint; integrityStakingPublishers: { identity: - | { - name: string; - icon: string; - } + | (typeof KNOWN_PUBLISHERS)[keyof typeof KNOWN_PUBLISHERS] | undefined; publicKey: PublicKey; stakeAccount: PublicKey | undefined; @@ -271,7 +268,10 @@ const loadPublisherData = async ( return { apyHistory, identity: ( - KNOWN_PUBLISHERS as Record + KNOWN_PUBLISHERS as Record< + string, + (typeof KNOWN_PUBLISHERS)[keyof typeof KNOWN_PUBLISHERS] + > )[publisher.pubkey.toBase58()], numFeeds: numberOfSymbols ?? 0, poolCapacity: getPublisherCap(publisherCaps, publisher.pubkey), diff --git a/apps/staking/src/components/OracleIntegrityStaking/index.tsx b/apps/staking/src/components/OracleIntegrityStaking/index.tsx index a4b8e68dbf..d00bd06ef1 100644 --- a/apps/staking/src/components/OracleIntegrityStaking/index.tsx +++ b/apps/staking/src/components/OracleIntegrityStaking/index.tsx @@ -10,17 +10,19 @@ import { import { calculateApy } from "@pythnetwork/staking-sdk"; import { PublicKey } from "@solana/web3.js"; import clsx from "clsx"; -import Image from "next/image"; import { useMemo, useCallback, useState, useRef, + createElement, type ComponentProps, type Dispatch, type SetStateAction, type HTMLAttributes, type FormEvent, + type ComponentType, + type SVGProps, } from "react"; import { useFilter, useCollator } from "react-aria"; import { @@ -1172,7 +1174,7 @@ type PublisherProps = { identity: | { name: string; - icon: string; + icon: ComponentType>; } | undefined; publicKey: PublicKey; @@ -1721,13 +1723,9 @@ const PublisherIdentity = ({ props.children.identity ? ( - {`${props.children.identity.name} + {createElement(props.children.identity.icon, { + className: "mr-2 inline-block size-[20px] align-sub", + })} {props.children.identity.name} diff --git a/apps/staking/src/known-publishers.ts b/apps/staking/src/known-publishers.ts index 2aa096d8da..af111678e9 100644 --- a/apps/staking/src/known-publishers.ts +++ b/apps/staking/src/known-publishers.ts @@ -1,6 +1,13 @@ +import blocksize from "./publisher-icons/blocksize.svg"; +import sentio from "./publisher-icons/sentio.svg"; + export const KNOWN_PUBLISHERS = { CfVkYofcLC1iVBcYFzgdYPeiX25SVRmWvBQVHorP1A3y: { name: "BLOCKSIZE", - icon: "/publisher-icons/blocksize.png", + icon: blocksize, + }, + "89ijemG1TUL2kdV2RtCrhXzY5QhyKHsWqCmP5iobvLUF": { + name: "Sentio", + icon: sentio, }, }; diff --git a/apps/staking/src/publisher-icons/blocksize.svg b/apps/staking/src/publisher-icons/blocksize.svg new file mode 100644 index 0000000000..1fd16271e3 --- /dev/null +++ b/apps/staking/src/publisher-icons/blocksize.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/staking/src/publisher-icons/sentio.svg b/apps/staking/src/publisher-icons/sentio.svg new file mode 100644 index 0000000000..f51a0af303 --- /dev/null +++ b/apps/staking/src/publisher-icons/sentio.svg @@ -0,0 +1,4 @@ + + + +