From 996affded3b385a610ec2f9352c47b1870ab39a3 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 3 May 2023 17:44:18 +0400 Subject: [PATCH 001/121] Add draft configuration for Cere Network --- src/config/networks.ts | 134 +++++++---------------------------------- src/img/cere.svg | 26 ++++++++ 2 files changed, 47 insertions(+), 113 deletions(-) create mode 100644 src/img/cere.svg diff --git a/src/config/networks.ts b/src/config/networks.ts index 1add9a7cb8..bdefd290e6 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -3,115 +3,17 @@ import { Networks } from 'types'; import { DEFAULT_PARAMS } from 'consts'; -import { ReactComponent as PolkadotLogoSVG } from 'img/polkadot_logo.svg'; -import { ReactComponent as PolkadotIconSVG } from 'img/polkadot_icon.svg'; -import { ReactComponent as PolkadotInlineSVG } from 'img/polkadot_inline.svg'; -import { ReactComponent as KusamaLogoSVG } from 'img/kusama_logo.svg'; -import { ReactComponent as KusamaIconSVG } from 'img/kusama_icon.svg'; -import { ReactComponent as KusamaInlineSVG } from 'img/kusama_inline.svg'; -import { ReactComponent as WestendLogoSVG } from 'img/westend_logo.svg'; -import { ReactComponent as WestendIconSVG } from 'img/westend_icon.svg'; -import { ReactComponent as WestendInlineSVG } from 'img/westend_inline.svg'; +import { ReactComponent as CereLogoSvg } from 'img/cere.svg'; /* * Network Configuration */ export const NETWORKS: Networks = { - polkadot: { - name: 'Polkadot', + cere: { + name: 'Cere Network', colors: { primary: { - light: 'rgb(211, 48, 121)', - dark: 'rgb(211, 48, 121)', - }, - secondary: { - light: '#e474bc', - dark: '#e474bc', - }, - transparent: { - light: 'rgb(211, 48, 121, 0.05)', - dark: 'rgb(211, 48, 121, 0.05)', - }, - }, - endpoint: 'wss://rpc.polkadot.io', - subscanEndpoint: 'https://polkadot.api.subscan.io', - unit: 'DOT', - units: 10, - ss58: 0, - brand: { - icon: PolkadotIconSVG, - logo: { - svg: PolkadotLogoSVG, - width: '8.5rem', - }, - inline: { - svg: PolkadotInlineSVG, - size: '1.2rem', - }, - }, - api: { - unit: 'DOT', - priceTicker: 'DOTUSDT', - }, - features: { - pools: false, - }, - params: { - ...DEFAULT_PARAMS, - stakeTarget: 0.75, - }, - }, - kusama: { - name: 'Kusama', - colors: { - primary: { - light: '#333', - dark: '#666', - }, - secondary: { - light: '#999', - dark: '#AAA', - }, - transparent: { - light: 'rgb(51,51,51,0.05)', - dark: 'rgb(102,102,102, 0.05)', - }, - }, - endpoint: 'wss://kusama-rpc.polkadot.io', - subscanEndpoint: 'https://kusama.api.subscan.io', - unit: 'KSM', - units: 12, - ss58: 2, - brand: { - icon: KusamaIconSVG, - logo: { - svg: KusamaLogoSVG, - width: '8.5rem', - }, - inline: { - svg: KusamaInlineSVG, - size: '1.55rem', - }, - }, - api: { - unit: 'KSM', - priceTicker: 'KSMUSDT', - }, - features: { - pools: true, - }, - params: { - ...DEFAULT_PARAMS, - auctionAdjust: 0.3 / 60, - auctionMax: 60, - stakeTarget: 0.75, - }, - }, - westend: { - name: 'Westend', - colors: { - primary: { - light: '#EC6E79', + light: 'rgb(183, 174, 255)', dark: '#EC6E79', }, secondary: { @@ -123,32 +25,38 @@ export const NETWORKS: Networks = { dark: 'rgb(236,110,121, 0.05)', }, }, - endpoint: 'wss://westend-rpc.polkadot.io', - subscanEndpoint: 'https://westend.api.subscan.io', - unit: 'WND', + endpoint: 'wss://archive.testnet.cere.network/ws', + subscanEndpoint: '', + unit: 'CERE', units: 12, - ss58: 42, + ss58: 54, + // It's a draft icons set brand: { - icon: WestendIconSVG, + icon: CereLogoSvg, logo: { - svg: WestendLogoSVG, + svg: CereLogoSvg, width: '8.5rem', }, inline: { - svg: WestendInlineSVG, + svg: CereLogoSvg, size: '1.15rem', }, }, api: { - unit: 'DOT', - priceTicker: 'DOTUSDT', + unit: 'CERE', + priceTicker: 'CEREUSDT', }, features: { - pools: true, + pools: false, }, params: { ...DEFAULT_PARAMS, - stakeTarget: 0.75, + auctionAdjust: 0, + auctionMax: 0, + falloff: 0.05, + stakeTarget: 0.2, + maxInflation: 0.05, + minInflation: 0.0001, }, }, }; diff --git a/src/img/cere.svg b/src/img/cere.svg new file mode 100644 index 0000000000..ae7adc7ecf --- /dev/null +++ b/src/img/cere.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + From 627d5efbefc2ea36f89cd605a117ec700e883d76 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 3 May 2023 17:45:02 +0400 Subject: [PATCH 002/121] Draft: hide auctionCounter field --- src/contexts/Network/index.tsx | 4 ++-- src/contexts/Network/types.ts | 2 +- src/library/Hooks/useInflation/index.tsx | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/contexts/Network/index.tsx b/src/contexts/Network/index.tsx index 9de287993b..284a865301 100644 --- a/src/contexts/Network/index.tsx +++ b/src/contexts/Network/index.tsx @@ -53,7 +53,7 @@ export const NetworkMetricsProvider = ({ [ api.query.staking.activeEra, api.query.balances.totalIssuance, - api.query.auctions.auctionCounter, + // api.query.auctions.auctionCounter, ], ([activeEra, _totalIssuance, _auctionCounter]: AnyApi) => { // determine activeEra: toString used as alternative to `toHuman`, that puts commas in numbers @@ -70,7 +70,7 @@ export const NetworkMetricsProvider = ({ const _metrics = { activeEra: _activeEra, totalIssuance: _totalIssuance.toBn(), - auctionCounter: new BN(_auctionCounter.toString()), + // auctionCounter: new BN(_auctionCounter.toString()), }; setMetrics(_metrics); } diff --git a/src/contexts/Network/types.ts b/src/contexts/Network/types.ts index 51493a2bf9..0359ed72db 100644 --- a/src/contexts/Network/types.ts +++ b/src/contexts/Network/types.ts @@ -13,5 +13,5 @@ export interface NetworkMetrics { start: number; }; totalIssuance: BN; - auctionCounter: BN; + auctionCounter?: BN; } diff --git a/src/library/Hooks/useInflation/index.tsx b/src/library/Hooks/useInflation/index.tsx index c44e6e8f4b..39420f31f3 100644 --- a/src/library/Hooks/useInflation/index.tsx +++ b/src/library/Hooks/useInflation/index.tsx @@ -12,7 +12,7 @@ export const useInflation = () => { const { staking } = useStaking(); const { params } = network; const { lastTotalStake } = staking; - const { totalIssuance, auctionCounter } = metrics; + const { totalIssuance } = metrics; const { auctionAdjust, @@ -25,15 +25,15 @@ export const useInflation = () => { const BN_MILLION = new BN('1000000'); - const calculateInflation = (totalStaked: BN, numAuctions: BN) => { + const calculateInflation = (totalStaked: BN) => { const stakedFraction = totalStaked.isZero() || totalIssuance.isZero() ? 0 : totalStaked.mul(BN_MILLION).div(totalIssuance).toNumber() / BN_MILLION.toNumber(); - const idealStake = - stakeTarget - - Math.min(auctionMax, numAuctions.toNumber()) * auctionAdjust; + // Need double-check with stake logic + const idealStake = stakeTarget; + const idealInterest = maxInflation / idealStake; const inflation = 100 * @@ -52,7 +52,7 @@ export const useInflation = () => { }; }; - return calculateInflation(lastTotalStake, auctionCounter); + return calculateInflation(lastTotalStake); }; export default useInflation; From 2c63cff3004c7a67778da82ca6df4798dca001a2 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 12:41:22 +0400 Subject: [PATCH 003/121] Add Cere Network favicons --- public/favicons/android-chrome-192x192.png | Bin 7736 -> 35084 bytes public/favicons/android-chrome-512x512.png | Bin 24341 -> 182850 bytes public/favicons/apple-touch-icon.png | Bin 7238 -> 31421 bytes public/favicons/browserconfig.xml | 9 --- public/favicons/favicon-16x16.png | Bin 680 -> 900 bytes public/favicons/favicon-32x32.png | Bin 1166 -> 2460 bytes public/favicons/favicon.ico | Bin 15086 -> 15406 bytes public/favicons/mstile-150x150.png | Bin 3840 -> 0 bytes public/favicons/safari-pinned-tab.svg | 70 --------------------- 9 files changed, 79 deletions(-) delete mode 100644 public/favicons/browserconfig.xml delete mode 100644 public/favicons/mstile-150x150.png delete mode 100644 public/favicons/safari-pinned-tab.svg diff --git a/public/favicons/android-chrome-192x192.png b/public/favicons/android-chrome-192x192.png index c6b3cb673acb5bae2f2a9a481a2374edef95beb1..6c26fd7cb78f3ca0572a51dd90f81ac63c7ba3ef 100644 GIT binary patch literal 35084 zcmV)EK)}C=P)PyA07*naRCr$Oy$76KXK_9}=k7{dB(1bf-D;MrY;eWKU`)p}J78Lf2?;R?p@oFr z9lCA8NB9RwAqgQs96~VFm=FUoAsAz0jJvwkthTF_w5wfhyWj7fnP+C+bFZY;O2Q7& z8nJiJJ@?#GrabdZc?)_3em=GQQ%ywE+s0aG28~zdQPJ?2hH9~*D2nA&sV=A##q6R| zX)CB`u2d>i6a}AUrKk`U{68wvcKxHm?-!JQVPF0mJEsp<hy|LYbh*RtvhfO7u%=Xt=F+>wOOpu~r}R zpJT27$=VMT&ChF~;x$whrxul>qf%5_lEf$BPF9@-I$3WP^0ciWw)||t@tUQaD!LCV zg(?k;xOxG94Y603Q4)6CSr&BtNrKNmYT@;z{tb(+)?O_=JVmnX@Cf5$!FwdZgvZc* zVD;I`CovgM{}0RWO29%5I|_lvXVN>#f(MJA397!Agcah-LY+jNw*^lCpJ0Nm@2N*{ zA0XDBeT}{cE1$eeI-ha%0!hVj_WYXn7uSm4;(Mz^tT6n)!75P?71al+DE_Kv#@J1C zjJ?7!QGl<|R~ptW-#V{4-t_!xgsPMCZL*NU6K$)j7 zh$G4%!tWMex9Ijl&AMzg!B?1*)CCZPVT{5W>q$+QBMRDsKUqN6Q&Lm;1rr&D$4dm!26e__h zxC)6X7z9!{1fK&4BuWCCujj2^fsKm3uYORSwA_>QNEIZe?GIL|dQEk7?B-p&7HuK= z(df~32}fN4KCeH{DN&{V2 zHdZQcD~e)SrKn7CtFG3&B7&d89#sY?fd;w;b;=$=B3)M=g+FBlaPiMCv9MrQZ@YS7 zegpyfSa7QWtaybW^hw@X3E(Y~Fe4ZauK|@9@xpuPZw-_a1doDV17g~6jKMG zw=k6V&w)x1Q5D|!zH>VX2D!?J2S}|OO)P+61aB&K;?JF#))nir}1~~*|BKdk;0-QQh=-H|4nN#b^j}gDsL&MSeC4I zCH<#@&3{A4iwZRa3~&1=+rv~Qti1-pg8$PI69)?XpLR>iCBhDtNCA*3K*awJgVN14 zkZDX0zYpf8o+pSDCSVUJ%{q$Uis6=C6bQ_ZC>z%hWr2aN^T=2z9q zvr+)h!x!W{5dRg}n=A+pUO@J7rpUmQ#RZ~lxfcMc*N~j8e++`flQH;FOCLEQ<)ak_ zrAHJ+KSCscAAWx=730^nG!A`X%a$$sCJT!utpHaq`Nw7&-}Bd06jxL#mFY=L5x^o? zbuW+vR^Jao4(|X@Awe(VgAgaMPf;2)2FS(&0q_XpQ;Yu7WvcL701RbFLMcjNF@ZuE z#K#PC6zWKD>#zshzrY(gI9Q+YG4T1CGe};6Ex&q?0D*+}2L$pw0R+i%2B0}j5%fE1 zvH*_ZU0g?vy@@1f9_&gEAd47+mk>)2D5c+_3{VnWs17^>hrH|sl6T3&V=zSsdnG&; z1#nRh@j(DaD!BdCg1$bpb@bKi*RLO%j1nBS0wg}47R*>q4Go{CqVjmQ#z|-s>`_XS z@w;Jq1h^@QB{XJPLCo?iQ?G^gK6O17d#)<$>P_puP zkF9qS#1t=p{qdw&5GJ8V$aM%j)?gf8wVMEdIiAtq%K~X6< zfz?nnC?>Cn;IkDMi!ZPT+and~l%^<543HJt1c8_1LHHRIg+LgVU-7+C|44{sSz!05 zVox*;Tpbr0l>etf&hLZrG{y&kZWL;K23cPTmKo9j>O^G$E0hFY@x85avOb@zCNwJt8fWU`@m~vks zEe0mY*$9pUl&4O%$%#=jS*95JA_@JimGR1-_4KUz*@PtDOy*(i{jSCT-#HCq^tFbf zvWP{WvABBx7GlHy`W{!0nHxynvQXNRA*t9eynk$lwku7py+$P(T__ zkg+gpX4tGQ=+l7Mkt=X~9;nQayhK3sIW&~ z7Gb#ov;Lw+hyjcRVh9xDfcTf(GXb@*X8c$BbHg|lFWkLz^)DtW))Vpo3HFRFoOOPc z#{acaR2CbyhXR1tS0P3w*P)IpfxsnE2=NwyB~sx|`=l$hjBpHgOC=NR6_oL}WEdy4 zlpO-=v4d2ge-^_)dAFrxL=e2jF6m( zusf<4V1w>IAp9&VK$DjJHH^=?~z+eF~dgcRUC3$Hz?N{yed z6qU!PtQKl?67)eiL(cp(a7@4+q9K$vl!ae~xuKy!gIqu%5#E>`HVTvpA$S5&5_koR z0|X$Ij6jG7VAc8AIQ~x`0FIZUHcgIM;H$J|mITv)HCg=N8BiJ_j1UUp@H+;_xe|B` zAi=cpDHa1D5hlk-m>wKUj?inF8oVzG6L=snKT3gGwjeMa53vLyVE_~?SGX#bRFi3rrh`o9MV}61M zsHqLItgz<Rh;oh9w8}D3VwyQgr9Kcr>p=DrzDA{B^)6b7XCk2 ze`TcH?jr-7mqs8l7S*8a4a$URwD<+lKQ&JoeC@&V1P4@rl;Q2%y8Ehv8m?uYUjOkPbCE+FF0KHpQ2xoOZ zS_@>fr&xFoa6|3CLK-BytkyqmA45fFD2TJzK+7FKZ^mF)86bZA$?7u+;sP(3VXZT& zrvMzJ$ADLZW~sjSSzQonfi#W@3W01e z6vALoO)y-`0%-$sls(VV%b4&iZYZL zAAO&NTObaCWmXiWG{N>5<5Pk|LUp=w2@53KK!b8-KnvmUn=iz!#yNik$XVI5#!;5| zidY|lUb=_yNQWvUU%qmc;^wgw&m3gR9C@CoE8%AqYTKxP>AKbrKy`6$_| zWex(_+`324;4uM|Lc%#j0Eevr>Cx;(HQ;-;f5Y z34W6TNOMaFrkrMG;Z(xG%ap+anXo#(XSk$Ry(Z8F^{LRuN+K-5 zPJ~$zfi}UU({%-qatKuEM+GSPgFF$2bXF{f#%qO09w^7;nkz~40#VR84&Znrm2x9C z5QU`>2s1mxj8Lo(D(3`L;CVkh+NcbBETUR|ja zpRE+BvQ6NQu|1LcY!LizaL6dl;4NZaAk+qB6seUzgf6hy{DL^atbSC0$o+(p2ry$w zQDT{cZrA*m=K@gwud#x&H%^IKJr7__$N{iYXd_GxkCYusA`m|Z2!v8+Tin3?1 z_Q3x7JF-H`14a7Na{(R!i0yUUpOrk+VSqe(@SFgS5vxP<@&^gF#jb;)D$}8<0#WOm z>STnC4h0ojstxj(AVvT&IIdBJl;(VO?~b+qa7YDs>+EY!Y-}vPT@=Ns9{37l!$GbV zyE(ouK_f6ihzS(pc=4O&076XRrO$XTbbhHfK#dQI-y|^h>Q8Nq3by1H>_LCf0< zs=TjKRHm{57;~e-&z4ysjlM>eC+JXtKLV4I;MRJGG9#4ud^x6g8pr*p5{)g8D2x;Q zuS$@N3fdxbrpzlq;R&n+0wvA50nmqoQKv$41qfI_6v%P#Y6^g?Z%BTn?kVr-C)3PfduucF2?^1iI;vEVxLNtE$t{v;H ziT%cz0=#|x#}-wn@{OXXoMj~r8o(w+5bF=&uTTTyb}fX{*QpzTg&&oj#suXxLMcHO zlV~VyM!{Q_1XJcmVgm@hvqB#II`tV$hG%{a`>T^R3RHyM_ z5Lh8=i$roPS?f>@Y9-JLjrifCN1&ttJ|Uu%4}d~wy38y7A@ng-B}$S6J!12EnO@$e zc>~_tdV@m@VEZ`OQa>db;?NKSc1hv@ls{OCZ$b(X^8h(5IzBI;Qd)^>#t&Nr-3j&VuD4GDSh$^^0XWow$-{aiHb@%o`uB9=sC-Cyb* zv`q%dE>{wS+p#E4%Oni$I26hgVKFw4cYy!J1BlocmNdhb2z<(QK?g!Wygj+sH}2|L z``zM;D+MR5vf&xHAnn^*4N%Ad0gZ}JKW>bQ3h7$o&Rk|5J;Zm9o(l}9-= z?;n(e>w&b-K$y?a1qQF6sNV|VEH#MW*YOT;KayQm`3Yzgt-cDS;C+c1B)An?lW9sQ ziT$px04(TM9jZlgDIP$BxN`r}JM36r!VtBTypQKr?KSFyQqn5)2zWpYZ=g{?Xl(Hy zHNqUk2+sTa6o|Af

mN6)AV%$M;4Vg+^I2Occc74oV{gBBkdWV}J|-AtunUE{8z! zm)7zgRQgp^?%UN?oP(B1^8jz3f8FH;Rln}grhnP^xFy(P0k1|0 z!2Jof068l#KMsQ;1j=UyiTX%9;2xkRAqM;(@&S#ZgQ6mJp(|Q4N1rYcX>Vhl_92yn17ARK(v9!|o zf}q)_MK~KI-oU{WDnHX_lfWxaq~L2gG_M7`lxpR1d7$441L&x<^!-S`GsVb3Yf;_A3i7|;45?+TliJ4sl#?lh0(574pt)o@g9$FJjY>F4C z5Qk<7O)8=mi`2l(U>l30S$D_(X5F=8OsYPiJ_+(jO_2yW6hOAay2tk<0QMY!djPaW zI@ZTAqd>1k_WePoe6tXf}j9uL9LZdDQ%u+93ny zqYV%%0EvQA!i#4iWz+iZg64H^p1cKkA4$^DEt6 zo&)e^c+nqkg!eItYEMlubQ)VG{L$`1^pw3(2By{ncmNxl;^os?7o;!=<#E_AR{#XW z(tZiyu2ld)pTG#|_(Zq-F(B5_9nr(9y2z$Tf*w-%(+BodiC)*YW6kG_H!Occ)3kww z*HTe=Lj(6X1{kBsFN`@!Rz1?A!1}Hn$_^zsllF}nWQz*~8l_{M^x`EnIxtEP-Slu? z|6i}`D{G1Y@X1xc3Zsk#(iFOR0j=jzmPf2~EPwXdKQ^@iV@*npFJ9^CxdcmM0VZjG z0n?wVYz%uepyq-Biw)or;2pGKCMXH4JO|*Yx&+9;C`3(%Iq#whq4Ro#(u|GmYN%5>X7RS->iHk<8l>^-8;Z))z{^{sOIF+OB@tr%H6Bnww*oov`wa@2nAJf&kt#+} zp;^n@=bio%Nd`5^+WJ$HT~8EBYgta8kte3iPaG$<6Z)GI$9PH2V<#HdWTpL4aWTrg8+Zn zj#|}dy}(xmjLQztBjE6alU`i7R{Cs!NvSm2L+f%aP#FTL2M80SJq8f30ICx#&w&&G zO5lp%Q{x2PLs4pd0HD)BgW)RuaHO$#Y4M&p*DW1ssNT|0R2Jq{o?`96>R2_XDn(L) z)V;#iJSqgrpUnd}{DDVE9bgxI@Ub-KyiPvH9lzW~cV7DdjSh^-2y}P=?tRz!pc3_3 z=a@zCvGa=+U%Wy#;v@(>m>`(~p;jd}ykla632{E!-0J+fIVOxXjI56~$A~cdNECFN z$sAC5#LVx90GRQ-mP12aP#R&GU{IqBg=*)Aia28+tp=g#TmsjRA+{M6s&)Dn0P74< zpE@1+{n{A7Vgj2G;bnRThq5wgJJXtESgism)TtW;=f2>eg70r`9&c@A|xg88++UlqeLy0FZ#A*N1`Z{`uSq&Z1m$^)R| zt8D$z{S_y}+1QiN3@>HRu^uRgK7!Ch(X8A+nIMFW`DjGvTRcb=bq&L!?{>cz%>hBOX8>fWjVuIe`)4zop#RJc2fwy9j$|n!nOuS1U20 z0Kno_N`V@mkRM=y*7_g$9?+v6Q!Eu-y@p2ij;6+78+c`tA5a0B&3*Q2j;!uKls*^(gc64ceOMst%=rw85bJvc zLaF5sPzS|xY>h3S;H3{T0M{o#$k2!|2#cAiPy~ngz!U)D62_(kI@H5Spla~%{x=Ie zy34dG)EJs9(ACd|egQs;2lNLN-HdPvBuvPgd3D@>pd+46euBFlbR8goYuCVmcfu=r3Mapr$+6ffG!Rl)z zCzJ!0KUrw!@WT{0sas|SM_3&VWHqowf-DBO#_(v7n~g*aLe0*fkE?=;1X$Mp3s@9_ z=oklZC1(`JT=+%&JP2hV!a*^txWge+mooFCd4QNO%j^C_^NUr9imwohu8dH5SQf^n zXtFD2fipI!4)%BEC+C1B6a4Xd(#Sx{GH}!PdqXx8$+*mDI-x(lL0<{c*??C2G9U(F zUMdE`WhJnTFW4{-f+6(cIq(d%H^5rG%L*ywV@@51e)M*y&gExFDH5`k7B%@`p` zW?5kz0$QvflN2Cpi9|+Nt4tNAgZsBYn5}SxLm@wak>pVcvT|fiv>{QZ0jXz&5vamD zgsv`5qUmtmtk2gQVyy8+1K=22@N4}%czwVdKrV(!HU&b|3d-Oyz=1qKPym~MGa->1 zD&8^g+N#v~$aFTF+JFWajR6?%N8ArDVGS?|_DBiDsV`VY=ls!WG4ATIh&FwHJJ;fS{x=D6D1HLV17rja-ZH<+%V!LaxCa!!G1Lz^fY|zoX85uP$d*Oo z&Ml%;3|MX8WeqrAk`_5&e9PgF40JLkhx-d;MVPUaP#Yho(UEZ)9UG^ykue$>9pk@! z_NRK8P-f=V-gC1aHitks%;a&_CEFZ0%+rWo(YC$a0W1s0uGr8HjyjdG4Hx6GdZQvCyBD;>K-eK^B~y9o?!H$ zu|NeiPHm(!UcQ`8x@-x}nAci6q3}@BUg!P6?fYrtjazBse{QGIeQ=HDA#)GF_Xd#2 z86Ipi%94Xm%@3gVM-x{z%`Nu*f)&yrng{7th?-_ip_a}jYHpuO%^g#zsci~1&74Y2 zGpEp$)<&Ar+CWpLHBw_!12s&oP-RNNBmg%AHE14WG__MomFeivD2)z}(eU6X{~Ovn zOoRO+w6AZ726peKy*u~O-kw3)y<>oOZSAMMyY|t@2+EQ@5C+d4QNKZyu%0ir@%|R* zdTapdGN16^3gfv36uRX_a1slo=OOP$1%QI`@1Ov_k1GY6i>%EX?**vqk}zQ@E8a2x zx+*fh27}_{hcMN_VNxkCpha@Y(xrV8fbcTY)P#CQCZJF2CJ_zK!*91gO7=@Y?_-^X(A|=(gpDv={OBj3+gzzjk?d6Nu8&* z(X3@NSkNKdBH$HjNGw;@Yd7gzkSX{0=s1n;AES}sF&f=JO2b2=v~SNaZCTkv>wmSC z9{ky6T6@>Sw0|fqr=@}yggsXZ5pwPYR!pAx2@6=2I)!J@(h0NhmJ`stb!ixuO^epP zWodjtLd<-iP#M-BFJ~%3uNnJH0X+CEzvANHa&G7#x4(F2QULAs_3`CGYt{_Eiqqc$ z3l!`7xeOXrqeX?5UAmCYc*Sy>zMyr&L2wevp`H6_^;b60<{$1zgK&J_4+N|1<&g1> zY>$;1hskc1{L&W2Qlg4)UP08@+Q9#&FKD5;=XTP(b33SO#Y`6PNApioiihsmMt9$` zj(+*WHMDiZF6!UCkNWox()d_xTU6U0tg9nyA3D}#vpN!Ax-740Xr z(HXzHoEBa@=aA<%K3e63*s6cozy)%kf6A8MdLa-Dm+Jkc&IiS8>UvT9rc|ia*r?Jp zbxfho)7q$g`3&kfRerb5Y4LUU4te&Ez8!XK+D+^4eVEqVy@ejUVZLLg~{{qiC>i2KZOOe6{ta{)0S<`Afs2Au>2$`31L zg4qM)3ZO|Y)bpp{II=!ya?i5EUiFEEGJHwYf|_SerL$jm8ZCL|{DVr#mLKn+d;WSg z4ew2(9P>r+Y9LbZ0#^KHjE~+r%LVv4UtWSNw>rU^6Q93;=A7L@P3?l+QK$6i6Y0sF zQSzz-dxmKD&VKskf3Kz+zi=z9`qc&+84JP;*u$7S3b`vlZSu=4y<2zTmSh5i)2mkU zVC_5d30QAri4FE3E?}=*OMSX>$UP~i!zOa4%mYXuoG)}I0-VnP$`-UhJ7ky$C-BE( z1ax+#<0riQxVN53^B><`BVb8@ciz=UKYRb(vNUp-`BU!p!i7bsXO*26086QX#0g<_ z_Oz{1(A2g@>Uzv9I_U)`Q1=sU){EvdUx)j(Xq4; zd$jV7^Z|W5%#PV+j6HPAFM+K{)pdL|OC? zg9Uo$ypMAboQ*(?SU*z$G`wKgZSoAUb_lD!K#?%}6N}~*l;F_g-}6|Sal*7rj`~*b zr8};@pMzaXdhw011;3!?+2>pd!0VTa-fYnedB1H@D=mETY?^mrH+7!UcGQE_|82^V zJj2RgZKNN3;|}`4H-1i=)^7`WWzQWz@Ld4}LfM+e2f+V1>yz$|^HQD@kOj2eL&Od+ zN&K-PQ^p&Nk>Be)8aSM1z%-~(pdkw!CO?;p;iLpQCceB242>^wIy7edqp>|fsU=UJ zPZzx7Ogqof!7=*PU$3GK-`}cQk121ZfzRR?e5!-^JqZV5t&f#NNQpuEKuX4)^uk57 z?78!)xuc0HjYpZLIh?!xDBO2sc$9j!?WS*k>Bsc1fA=5Mw`*_44u$3VbUQl9R0%ZL z6*@ICOM>^y96z9s2f)t#TjDE&Kn`;v-k&W0k4KPdfrJLNM3_#3u+`oX4``8G=nLj~ zJ`H(>*v1Je$>JaXIp`fo_w#|f*3&27`(?WOj#V@`l$PHu zd4iB(uJH^t^*%AM)z@0QXJn`0dx1vslVFutHiocfuLMx(JN(=G0}lV;N+JwFuuW;! z*`B)gul4qp#+=x?za<7KQ-aVJEaMNwx_7OZMHjvIENW;uoMu{n*+N?OyoH>MI{q{9J20?!kiP!UKcs*8+;?fy`mHwD z1QxzrZr9uPbP0^*nhi0cEyKv(zCOPWjo%*vA~KnQ}f(TG^! zTFaZ${7;+fQ>XczC%R!D?wmwzKgOREHB70{X)jwwL%qYa{y(-z&Laza%}E{LsRc(E zl3#2es#Th?pp_o?))mxw`v1KEcj97x@IA*y$LOw~ucSYJ(`RYzs!b9b)HJntFw99V zOO)l1M(j4Gz$wwGITzIZSg_0{9Z4|62Xd|kkMyt15KiL4GX;>9S+G*0FIliJ%10dw|WsYA+2_8Z5gj@A-OPw&MGNQmV%AD7pmuQxMad7k}_7QXx<*cGF~W%G#dyrqgNq{MO@=d=&4%#`Rn2gKzyT{p7!XL1UUbFpr?6+7=IJ z<9kkfD$5i4e&Ma56j{=XSs%b#$rK+*0VbOS69_c-+G^GdfZ{is1dXxi4twH|tlR_W z;453;&R2SuxIo|#as!^_mGuDlgb)ND=;68SJ3XczbH;)edh$olqZtdQ{hy~dkD}}g z*r--%{p!v1+AIH@)~(r?&GX?PHDrSw`y*iWdVhyI5a@{i1@B|^5}`dk zbA%G$<|LZ4rIDU|&3QEYF&&407mj~o!gt`#+wP-Rz2sfg-#=hA`{0P2*B2%ySA={a z47cVX`K2{MBJ?0SLU^m*0|oH80*FE#?hh+~EOMbR$A;9Fv%}|7+PlRh148j?n(W z5gJM5&Ld+sBnuBMQO1o^8fa?E6q?%HNK;#;^7On%_9lTqPy|DGUI#6iU%C8Lo_yYGPp8waSoUkd{iz;*sDD2V z?cGm1AL^rr?%YCa@7PQmezk@6>>S`xgP8QjC1JXz7hB3OxdE?bpTMbP0i~yzz`G>n z=$O++OIIwQ)6ZW^XGz|=YZ262rAxyaU|6<@%O0X~M1EfZy$HSvJK}%LRu8H%y0i+R+uowiU!4Vev`xXz6JSX!#i@(8*^mp%YI%ftp&T9@cdp&dzIAZJ<}Y z=+9{L=B-(&Lu7scXH0oRK?KSpJQfJauVCOnh03{=Eqo~yVO!2lk*GLSYb2n`; zZd{u;tP*dKMlCnufw;JJ5?w5hgz^XD`85!B&i^2#4{-_rvb}oZ$ObREcrHEtV~;;3 z<;w}u-1W@|=s zNfcxID<}xq6CEa{pGon<^qH-+V99KH>SY(uv#+?AI=W|0LNpHkkrdbb;Va)o-@oa{ zwKe?k0HF&EXB!3H%N|_#%`>Fu9m*eYHWvTYQHWYdbm+@2-a6-+Dgz!KcM@X(4OVUG zQXO}0gKNWTE|K}cT42cuV8xfxfLmMoh&_N>dKv!)1f;(Ue*EqW!fnuTAs4;*EL!p6 z<%hn~3G9)SYG}`X>RI1MKmF&s=$`Mbq@jWRGSN*(nP6cH8FQ{-AJ*nFLDxAzfItv* z?NE~?Nda$k%wZUXShn--IXq<~4_kQ_j2*E>COp(^YMDaMed#51*~^|n%T7Llrnj}~ zapvWF)oI)s!fXrBvEDCv0kw9_&mj#%N(2vb*4v?Tnw$kRA*&`1mSzuH>-FqbDs5J z5VF8jr5Aku=`{QFBd0$1_Yc#3-&;+0-?WO>-L{Da`-c?E%R0Q?J*MmUvQmVWbDqzy zqRadHGDa*G*{BoP{ebaJ0niN#eg(%w$SBs*_wsRqkyCLfB3lz2dcxDrre{3=B6`ZD z7t*xp`E1t7sKYOAzlScr^wk1QvgDVXVGMU6(plh(zF+;kS${=4EZ&*`iypww_25A- z%s`Sg@f;pU0#Frinf*~y09lbyJOS1PW0r<9x}mmT_mS;T6vPYO#U));zM{J+lwO!H zKyp&Z3gen<(Oq@9$^o6v8jTkdz5DANbsCq2aC$gOBo)ao~BBz z(^}}H(-+fQ-v25(_rfzKBlq^1o}NBB`_xNAS%iPD3$uG8e}b;6ZtKw(94KyM0zD^? zpYUWrPp&kq01SL=B}OQKLZZOZWMvHz>ey>vg>Tj+amRAtoGq=hyCI;dhI#RvCk>l3iD!msMGG&W$O6FLT6-WBZ7QumCs&wVB|T zS)fv-jVG4?dMx}kb#UK+_j0J@3(zUnrYf~gZ=rX5;1B7FmtRT^jSZ8!hpDS<$=nOG z@?^IBR^$c}1K%52pt4XS4yc#TipOzZP(JBee}F9xdf*LA#NNybpgcdDU(E(1D~v^| z!RiEIcj%-IEXMo@#1Xbg7$uhN;1N*rU>3jB_yrf`t}{5kkRE^Iov)bG!%H7Zl;$tK zb}#+#Gq=*NEvZpFj3T!HHmu0V@0TVlV`QN!gpDl>@c>(H{H<+())c6LZh2lpSEz2PPFvfq6kH8oG3En3)pz9qu=_$A@@u_k3eU)4F_J0Od=Nn~OM5v}}jvL`GF05K0D2__H857kuoKZs*L7 zHhSMj-$2iL-o;0pH(1zxp7|^mWM*&Ny4S*fbd$LrixnSmAMpvJyLsGq!8sn+3Q@HGtRS zGN-mei-;lwJHjLgIt#yIe8>9wt|ggbn43e3%vc2b+|<%Um%Zp|^y=5YjFz6bZ~}Mb z(7PYcRq&JFay|E#5L>vja|9fe;xd|RVem4%lw((o0lIkLAx$P5M0->Os` z%$B?W?_mO8M*6_{5!mE_2=;Hv)G4(5l*RPS=Uz;&xatKobJo!-rI_D+w%y%m?V*xU z*u|OG!TvQP59L#}^!K4Wz`>LuXMk{C#h-M2Komgf%rp-abvuAXh!If6%rPyzfpPs> z>8ZFUK_j^eXMu249_tG9!QTuY?PdhG$1nBPDJ_P;^qu$p(FDc&@ODeZYkPYJX!Y&u z=|^Au89i{@8ZQ14O4NH~k*sov6ChM1O2cPVJzU%~3N%hhP9D$O2ASPqg(&9(f>>F- zy?Dz7i{{eX-~Spq=W%CHSJy0RoN{zqLtO#t2fVq}&#^q7YLYih7Edy;!Uykc0Rm|2KMZup}`?9 zg)m^_Wf5-CJtlzgWQw_rA%uw*`+uy`(=c=BR8@s!1M+8N8KqjT0#%lIDbPR;K=%Pg*>n{tTbB3Xtf zwca4gg@5M(U=210{>1jwFRiCS@qGC88(0Ax%Uj2mjzv*IlS?HK!V3Kfcq3a~_!ZU! z&k$=n1v&*yEypEU0G#7nj(crdu!zdlE8jRdNj?gnN<4Tfl^EKW{teO2ExTy#eH&=Q zs?D@-jZ5Qnu95T2gJ+q$pvSm=q?2tmew12v{vpU;o;o|wUV9^{C^b=27 z#C(2AZnd_y91)#4+1oL{`?2~_O=KxKQ48Q*kfR;Wzc-D=!Mi#MJQ{V~Sr}72URF8a zWi#~=ze}F!&+9th&orpl=QtE%*aJq$7OL~|13bXujO;8{(o=Z0QGF^r9FN9)W2td{~p>u%%ccXpTNk-2sO7faa(9p zQxmmJZ>AYDr&HUk>1@e6x@J8h!ab22G=KJEmHXF;Wo)1Xs^*V2Du6skmY+D^GJK)S zh`?RM2}qz?%n)$>!Ok~AMS){l9`V|a_ev?m!IVI17<6n&oZL`)%|}iO6bjos;?0AZ zlHj|$f@UkS1n19JR|^R~vgXYbc}~aoIYxJ2e)nTaL24M)7X@0MUp$Sng4B|f;m{@E zP`CTBd;ps!AtLWdy5O|_xZ^#}0$GuoSozq%?m@9A0)A3_AaalGQgj6G;B;qF3VDyc znjIov`6C8LuC>7bm=fke@W-C`gQSrNOG}*$S*XDYf8MooNzh0 z6VocODzZv{vHso1=+PcO>_qOsg4sUg*sOi#1+3n;s}khNX`C4Nru}p8pz;%f<6Ly2jhEMuIY^5Iw{;sR zYn7n5s{QRkgJ#f2iX*Ja9bcnulU5j~I-M1`MSE||QMmgN`|DqZEaP8EJ2ZAa~l zC)0&(_|(StAEQTm{IC>}eU8x`IH8ULD2mM#Bg%#;NHVBe{(_2VIn971f|u~PA{YE9X|6Yr zB{^bLhbVQ$@3p^Ki{ZfhBv7u_9|5mYq$ce8{o*zB&T7;mzu?M{c&KejC4qJ?5aPsaA6E$%`&!E% zw{VU@d461jNRR)RqP(*G&lCbF>`|dd8;fE5GE9PyXOw1HAtLl~9yZ=sc19r(_7lxx z0dMWdsnEaO^3jPrrvvVj5-O3_J)(pCFZ=M(xc0@}XIeF5q4$zS*_a@CoB!#9j`Qwf z+?WFdR|rEFQJkV=yVI!q1RPhu8@P8UUeW$0r$Ivzn-@NKd|(A`>ZY=KpJ4f8KnzQt zpV@)9|5E9L)t2PYNR&j1$o_uIwUZXRf!+J)zrS@G&0R8^mY%+d$BCp7g}=!^DKp*I zx0~+2ZxyXuw}CFZ{8E}ZbMocUi`4^&l&CJSM2S?I@CTrf?Hd4(@0&xQtdzzc&cX11 z8T5$t&vHzfBrC3L{}T&>)5nkxNH7Sqg6wh>=GcXm>-%wXqV9S9X?zb$-rySa@0i}^ zlMU^4><>5(pdC_L6ZH9q|6z3;a_PQ5$&sI{$`C#*g5w=bb5KId^viWQ1(M<~gE?72?mY=bNmYuekmY%YR7A;>u^B2wK z;EsnBQfGJjq|f7UKbR)f_4M@8>eXxMS9jex*bXFf=eV z3r%#=NlWQp{_S%|6I$rG`cwEy-&sV0kD%b#C!Y&G%{I-1r!c zj*hV)@7S@Eq08pY57UMXn`!;JjkI>%L)6=|i(#9EQIPXP+zq#=M5ms1GJWa#zoB{a z=S=z@p3;3*hUcRq_-F+;rV#?=L`#SZ43jvqTJ{9)&0;nYW8O^6Nbad1f_Z&9_Bn$nwFn`mnD6q+(+3XdX@#t**(Ntn~9 z@!^qC8X6j+eftJ!|M0M}*O9@n3$}$MYHK0uS;=Uk=FOW!fB2eL((nHM%c!Mg@{{#W z>pnX$Jp!X^@xDNuGR&?h2hK1FLT@ECh%4OYN83M-*?md zuDXtTckVKB6~``3=d3IIS$-l4w5^na33006b*H9f1s;L23z!x3h~eMTxNNxnni-fm zpAMh>p^v_sUjB*~Q&ZFAhhn8;tzZQ>kl-t;$d?{iMa}-Qq-E9~lzT4p0vrO(TH;p@ zBmj^(K@#XQS7f2AVsUxFjet<^y=%;G>d26o?;_bgx z{k0e@yI--n!`cD$(sASYK>FC@3?{X-iJ|G}Xs6%5>gDvOZ+`6&-?wytGrP}GtDp0T z$y|oisw#<~;N<<_5t3rSV_2}PXxRuC1i-vKXMxHWQ46xgG8p_ZKQ3E~=ePe}rU2#8 zH%91D5A!g%bQ%ZnPc;gVIrv;0B3;Fdk3L+RlcR9u+dKd1s65D|P}?@|pdWtwC-l=F z-cI-4`5^7;-JOpmfmIK&0aUUC(nNvch>{HObMq2#N3r7<_MzI zFMEK4gP@G@VS>Z&xuXoC;<@d=%RRw)m=gbzFG~Bkg)fC9r7#?t8>>7arGPcSMUHI| z^!k+GC>YTqN9DM2=RY461+eq0R%uV)UfQ;0Cw=dRAJR9zd=u^1)+55K^s7we_f-(( zb-?osSA72n>mZpCpTa)XHvxX<)bYwU!PJ$Ti-HMEiqP25NN1mOCcWa7FQunH^Aegh z>*y|)aZcCyng|nC2Pnc~0WP(yvz@&_QV@|ncm&9rNu+uVF}^tmByz@fye27T@W%w- z?{Zw7pmYzQtoJ&|&1j4!m0}JF$ zJzqMi3Q#^+q7&CX_z?Z<$G@OEZoP|EKe(Ru?&)WSCIzZvV`=4d57D6*qUedAR%Ov* zzL=2DEq{C`yjFPVj@;@E>{QcglBt=#xw)B|o13VmxtTh<+Ub%@E}|E`wcWh70fNU2y}%7Tr51YOK$BWOOyxCIh+!~uVsX!Xj9KB7=+x&;MqhUtyE}I zolDzaZceJ41IQB=QU4+Uk`r*1aGP#~Y&^%(*b_gk97MR#ALs(au71DgUyi8)#Dgb= z+q-9gHb1n5Hmu)F8`f>2jT^SmhIN~1!$X^C%ciZo5~Qt?Vv&Si4OTu6bTB*{1iWmy zP24|9Ww-QSP$ZGLbQldh55M5936(&K}OX%-l*XOuj28=~Rm0oi{z%$xks{H^S z?n1nCoG(1_+?ktu{_T-^_Q$`Mh%WBBNIZac z3yLy`(8qWH5GN`|@)EqAJ%&K0B>2V63hZcj6@Gk48Y(=yzeMcyiYh85h9Hr%)I| z9<9A>6S@V#Z&^XoWtbPKnM-U5-pjYC8 z=qZxb&sih&1_+o-B@q#3mrZfZg}W?yIGhv#OdXVh$4*|{{#zvo8-t)nD$9asxy&E;+;Ch9AHh5D%&tpVhz0Vvh4;S$98v`U9AdAL>JTCX zQZL{MGAK!z2930fR}}ymfF6aM)e66;LGgt4%M4+~FxZ7%oDP2C_FDec_li{1fuT_D zA0jsn?1l?M44?i651(HDr1u+-;Nw63)z9gAN`O3q>2u*vRH(ofelPIQOzg-Th@ z4ta(u<_Sz9YuXKSh#hHWVSQpPm#WC)JD$st0SGAh$~+E`ztbr|D2qlJ z3gxV~?41WMk+w?T<9|n=@;|-bJT8Tg;2n5=*V9Y^5cmqz5m7dU2+R;-1PFc}3uyiz zOU*`lR4$gcWZb{XP*(O_pZat-RHfpAj_2^eg&g=e=kH(bYLW9n(dr-QNz_k{$=3M) zt_V0%)aiVGdFR&NZ#{yK|M*wGpzG-jeLV23P=jLow6$#UbMN3WfWRR!#NLYQ?|ULl z>w(k)8#V#8j!ELGA3zmxfst`dE^-WTe*2}RmPk05dWb*f0uC(r?jIn~wSrPV1dg^n zrZMVA32EyS>j} zxy|Q*rOs@Z+m0*1BPjkvFY9`?!W^#!YN+PQkf4rx2(JN(j1a@25G%x70GnO(9V=+S zh!wzaM?_jU87ho!UM`Je5BPxMM@a5HUor!dKk1hMgE4!X6^kxWtV;~HR4kd^l!99Q` z#7Y@ti6Kg5nrN6&TUu|84J5o6Ls*j&;(>8W5Qvw&P2>6>+woNEz^u&ys7Elx(B4co z#kEYV+?o2@>v*f|M%H`((A%o?^WN`FS_Jm)?x+9!=6}<|C3ESd70Y;4mQ+~woBT62 zI!4N=aucY4Xz4VMLo=!84U@p+_bv~aldxNYtZ9#7?@HsmK1woL^aH&*31mSm5 z#`}(eQ|bZh*#2KGn?W3a1#7t!;>?aGhfHv+xQl`ud-fytilIpq|JN+!e?inh;Bau1=zZ22fhBK@1fr9eKdXMG&*7FJi7el&!ne3_X#xRH*7A@=*TGj z*NwN(jo05q>mOWC1AYC}J+GTS{*~)!&Vt#K*7>VCFV6%&TK`66fudp<6e^WVFl%JN zvr{j~88}Y~BkSlR$_Rp9&j33U1O_yYdINj^rP?GLN|Z?2efO)F7M5)7PRE#MfCBnew=0>fdagy^M%3cgX@i?%g1 zHqZ&n=F=%>EaNdK%T8THigEFN9~!33>$lK`H5+N|gX?L{{cCCM{cCB% z%8fKWCetIZ-UF8|Q$dSQT13}=_1Ys+fY*1vC?vlS3jhk~?||)NKyE}7k=@GIzAA~kk9_8}g=Ms1 z^bR>eS`ML+Rx2yY!QzJ_Qh?1n=yg}Tm)5V`XdWPX7lUl6Lb0Jj)6#OJ(_3iTj21fa zv?X-LIVaOeE0*%Vj_z5Lh7pJR!4$mi>gl6(t2WRBcdep(?zoTE-oK6p_72d#{(Usq zKScP`jNhyNY)PQ|iwqhB5@cIu^*Zi)- z)j`|;EuAmRXwYQgEh9`7hd(-d#NYE8p*#~@%lrhhoNsigJ7hty zF-N5`X@zG{id^{1@Y)|4?zxxKIOGxh?{NSiQ2Je*)Ole|A%tW61Y?2=GB^_nQx#1` zJ8^$Lj;;b?4>BC1*2YIrln2oVQij`)uoNN*-Tim2p^yF9XK3yH2!^9QiIzJ0rGo*p zoR@G|RSxLYG@IMe7d&S_xE?(P`Q^)y!f!(0b59_KCypOXuV=JPqvyZsdGyRHpGBSX zI%#V2k{6nv95)=P0^mjt?Ab?uf9=20_rLbv)U&NGtYBUbYvNM}Rs!%6D#kTAZ24r&Zu_yA z&#+07al3ynugzewn_GVolBzN)j`x#*UhvHG>5A81K`Sm?an#m9cz?(5W){B26NCg= zght{Sprm;VB^v4-w)s;RWv^#a#8%^Oq4E<-0L-8N9;aei=i^F=Fy~-{?GFr3*)q%D zGTwqExVCuOg6q;AC8dhaK7uZX0kz-p^P^Y|Ix;*;_ujsee(;T-(tm&VcG|XiCtvr$ zR3KWS=#UQ%jN-ew{eqR3WBGf2<&Jox#fR-+0kO$zL{l0XY2otubjF1%=oRm}l4f=t z-LWVi==goj0=sqhtgu-51L6L1c?1$;{ySRz9RB2f8RkUpn%Dk&901r8lVF?(TiSJA zm2@(YS#xtXQ3Z7EFcSw?6t;F6Nb@nwrAKATMcOBPIh-m7%Kp$RmPm_xr~Pm1{d#>F zJc6ym`$uT=x~+8MmwrUw`Qi_$fA>I5NDdpszfGP4q^Z#ww@=oc&-End!h$W z%0R56SpURSUG$s_=$ThOgXS-p%WEDSDcq@dOF!E22g>kN2#GHUyeNX#0YNd+GxU-O zcmbzAYkGo16J(A6N{})Q7`7rf7yh&tl3##727#7zp2tUVQFZRsV*!OF#t6wLYTrju z9rmvmE9BciH40kIJ&5`i-5Spk-%oT~@3HL&8|)vVAAjfPbo0Oelpb2SnFjU@(!RZe zlu8N?_9F^n=rX60N?mQawHM1D6(H)8usrS^7$#H-YMs_X)7x5kL61vb@C16o^Dm^1 z*&UN{Ux#HnuI+d=i+F-FT>7j@t|>x6p=F57Xwg+vwr-+o^ZkZf0?6e&8lDWjHYWamXW% zJa;02<*5|Z);^u)EuKvamd)iwJQkn2kd~ajm|v#^-mmND6CHnKG-$N^;Q8aWB+?Nc zf#=UHzGsA^l$C)wt}lWg7JgeiC8s_;3oJPS^8kyw&JoeJ2INxeL90N^O*6S5MBQO@FN|Y$n!GZlWG%!Sa`vz$JeVb_G>aDbC z^;X)lb~~ljX9oKAi5IYv#UT8UZX0@=#{y7>))~#zHLsoKFP=^FPn=7OPM%LoPFqB? zy4z&Ij%h7CdOhVL9*Lh%b-dPU`UL`k{qgb!fk9sPA7cUtKjHz#|5lwQA-ylg=uNo6 zwx~bE8gdAR6C8rrL+FtM5LSpiz@o0RMf6QDb7&hf3xNNZ9Dw70Q3R$zPv|;ZJwP4H9VU7Kc1CD|*AVC&rR%#v zv2s7*ijqelUU^#kT`@|KcYo4*{RGAF_-@DI4t%!bjS6cV<3}nq2D`2d<*qQ7Bus*1 zB@i6#UO=N&yAIWgs;-5E@i`U;@XA77`3a#%PJk6)VNw8a@?5`D7UK%D9MUzWC&U_w z4xX5ARG|iJ(tV=GFe`6-KRk|Ozw|BO1mtz8SqBq^i-LaK`{iTtT#p}ff_LEWI^M(q zFfzW8>-X)U7N|5bF_uAaKpz-ImJEYKZvBNgahH%3pj`W(L?)I!$3nO)23Xj6mN}c; zlDoYIL=vwP=emoYIs{V8mRbGiCp@gl5q%W?e18vj<@WeZk=M8E`r-s1)$!eq#U1#E zjz6t|K;8!+$u5CAVlbsiKCnO-j>RJpRRV2Vt*em#%h8uu`Vh`~?k;@F_Ro$aih_|VqAEBR>^fA=c>q|1+zXVH zBFwV;(XKBXi|2a$m=nAMpYM2!@&D=BiSUE!L?Em|aOev_L0;woY*JjLLLGI~JtbcF zIxL_P5@FK+8;jpWB~T5@K`<1cmeq;E>F>HX@Fr%fI04(EYLZH#S#()o)p}c9Vmzko z=e`7c=Os~oEb$-d-5>1w`~)A>@!gKa9r)*tw^^pwgTl1FSThsA=FLNGpiVdM`uk(?T#p}ff_LD{9dGwUSP<|m1I(6P zMR3gzT=&q z+)5aqhheF}1M}MokqU{zsxeN7<`^V`WKf^=G992jYkx~T0LCZ92VjA+Ab3Hi<^e2} z1px(^p}4&y*s*CXo;q(=58-&;l>xDUs*^RrnMbKs*qcZ)#D(1zK(}k?{=L4*FO+>O z1mgeNF~8FOE`~a({y*j77zXL{_wooyW^wSF&HmANAvDB`97v>#Qf}uZ!`%&ws+;iZ z+RIo=LVAC-`>Q}FSQ?3vf@DpEWeT7$2G&2qoFvpP(5Tlg2dB{IGLz$>PWDM=ln^K6 z!XAa+j~3J*-Q=R6@9z5a5y{-~xj^Mr_73lM{(Jj-YMSC@Oo~wFGV%~Kslyw${5lG; zocM}=muie-$q0l$oi#VU*w{lSMmgwZ1#m_v%>_~jq@@s9(o1oFUCJ{@>t_9JxouYz zfF)eEPXSgnFe_hQ_?F%+)HzobkL#|bEtKev@ZT8 z|BR20)9%fEwDnh;sejvEI`c(mQ}e8rNni2}?e8lo0E8X%r3{Y!ZGtF7nK~K8!EIRjj zr&7bzUtdAlq%YtwJ~%c!M)!Z`Ui#&~{DOKO+(tvY25IKJHhTHLzlz!xPQIc4>+OFo zm7qN4MEZ}VDim~RIqREyg9x~D@SXPp2pO9HSha0f_e*epeI+nYP!(@5ReXjXu4?EZ_x5QBWz zqyX1m{v~>N)lQ{rg_)SqHH{ws;xp*n%TA@P#WSgOW-~QSpYo`#$%$9Si}&>p)6kwF z>RH!I_kQbMy61*p(ct#I%F#>4wfm&m^xHQi1(=dYtG-3g zgr9>K7ux7a+-8^XzxkWEJp{Zs9v|Bor!1-n+rPH^+9ObaJ@oO*zf4`}O>KGPR%Wbs!J|W?v~yiA?OfAC+aB0X+wR*& z+wa>(J67%>8XITpELm9*y7apHq;7iY4Zn9p3h*sf0Jrv{0M7Fx6AbH)e1PnO{o-$j zLni#e`ojyvGH6>j+UkDX3&ajEp+RLP=qP)EaVi#aLrj|FCF~2xPb9o@2&8&x0dYOy zcc>(6Az0nVE?b~{@A1ypm)(1c?Ho{K2qnNn zs5BJRGQEkKXH4aP^H1-hrRUD2`Db*~!WG>#V|MGL&*N}Em?}y8d-l=xl{;zEFCV6d ze!hu?e*d2RG}1pz!~OeN=+QhQ*jxV<(lI6;po?B|!|xuE0(`suLp2J(-=)hQrSFob ztU+-dtM6Crjwsg=5y&7!WQGpTdY44SoI2F+SH zou+rSQuDMaR5Z#wpj5XnbAif$R^|dF;ZFa?M#pJ*V3_u98=yVg_fg-b-PE(8k9yYa zqMd7cX<+9*X_{eyk|`3YaTKrue?#y^00pD-Zz5W7{z7`e7hg)#=1iaTJ^aqB4~IoC zQ0wCXun9k61nnR9K7ic%Bj^R@#~5@m%;5*)&kgUpQi#=82vkUj%nT62p7dKLLa+xo zq4NT(w~G*lJ%ZY2h$B2jj>uup#i_Aa2X@D?y$8I8?P~@g&}T%T7G-|^+%t0&Fe z3=fXd_doS>`rapgPQ&{~^#+&Gr(2=ulI>CCgoHh$Sgkl^Y6DGaZKNqp4b(Wbff}1C zp@BvB9Iw*o@F>LDwh47k!*rG0(-)gVM$1gBj4Re(bfU$NRgF2a$ODnz}teM-&lW#P{iA}MJ)mRNd&3#teX zdmI|2d)eCFL<`SfKo`IF5}NavIY)fYdT-rCKfClxqFh|&94$P8ZcT)R72st(0H0Ze z_`p4YM_^D4w;wV5Rhw^c$eUky6_`{ajsH>{pwI^;5gY?7>b$7xFe5NCnxz%klT(yn zc60ljwl)~Xcbo4auX_Sj5-q|5+=_7lJ|)3!BuTyTKE3mjtDi#8d-LOu_+h34?C&3; zRkv)Wdv97#tA4bZde-k{Jno{e@j;z$^GD`ZJidw!0Mm@+FkB#A)M_&Oi~MZaz*glUJioeOwd^W4~0+~l(~NifGq}C()k3Q3lwp-z!&BAOH`+G z^B&AX*jZFVkjsiyr2MZk_xwGW8n1%Q%7xlN^(A#;2oJ~I6Qoa`cJUH=>$hGq={TUC z=8O!D(e8%_X#K5Q>Gm(LqP0JHn8x;xt5x^1Tr>1~5Gm6|9GwRT7?ce+?c;#Uu*a3c z18v3jL19eT6YSBCRP=Q^c8WC?KVbnq=B206qKi(T>2s!0V@u;vF%Bp&2^%8p7fN5g=Ma|KD7_tAsJOJ*gh(3bfkfEMA zXF9#%`ro3Z=gm864>ukt3GS|qd+Gk0Hqry%-9S55@1dbRBh1i@CZ*s983O?QbSD4x z24-Og(He#{HCDc4^%Yj3NgV7?3a*=`H8MRr`_y(?{*0w`(xppj)(LI3Y|~M?OMSoC zO1J;^4K%W?Ut%(v%BE)iO^IESFNhSn4>P+uW(8WgtQ8)o9?kO_AG zVlhW3-bm9Fp7WLq=s9n_fEuP8+d7^EhxTq8r0oy((atrysds%p?cOv%eVYbo_vQiW z-#$pmdw8!#2->3HnX3T$QQ;44Pb~O~-eO8~1I?JzLT&S=(aibNsD1Ga>R2|DI+o6) z?o&Ew`kdBdJ|ZQN1*@+6DXsa$ZB&eoh3qoo0B3xp`6bLKwWL`o5r+LjW*E1umIXqg zTdoY&2!p8*!2_TLQi|eakvz@>pQvku0oni#<@g?PyT$_yYa-l%kOn5m`~;5d`+FV$ zkjHs}vg%kujvID-Ssevce7okI)IqPm;d1I)+;)`g+r$o&3d@qfkL(+zk-;&hEq8C( zM|~UmY4?@^>f10t`+A0`zh{UBd-v0D{|Lt!>2t#aqaqdRJQ7XX&{$B@j7DmjK9ySA zr&4Q26HTApOl@OpI-KF zG`OxWE3E+2ZA4`gP7CN#%@M!oP!=O5~KZt`w?8U1}Sp;hT{WpW5!1;6F%O%jU zFJO#{s)2dp(g&rIvkbHf zbYzM!$J8O63qI%u#5x*))!<72pUnE}bZt(6C8)#L->X9r0Luay9Z#z!L3YgVSRHIn z#^`7u8w1}4MSi9TD)6aELPXXZ zq(m-+fhf`f=`lf^1H>6%4TxnbMEb8v#mVi@2rIn0EsqP>xX?PyiI~7b;=twzJQ5op zy$U{Kzg2((PZUZeT(}L6)$}Jsk3ck|tCe2-$&2YRmoKeZf$0B=kRG$^tX66Bch=Ay zZ@QUAcI*qaMH=jegqHwe&q7OsjIdSk0R9@I4?SZIp^v{k9w_Glg!%Cyi1D@000jh! zN-;`fRGiZOEDc%9!mqqOs&;B%OztU=z~ZAAt?H_SS6&O`*#y8LFNh1}52Xftp~{eY za|IAqnW%l?4EmkFy@ZxMaqck>29KGrJ<1N8g8%J5*+f5k&419~roEx6w5ka(%{oKC zwHr)ue0(pmJq~xcM$GaUxgx+5pwy$BW%0f*#s8cD6F}rGk$Fd$K%g`gVw{Ro+n;Uu zRblAUKXCQn?Q@}qkjvu6zK>XaFL*VfkHv3DY#|Aju}u(YwfQFeF7g0XBJRNhgz;YO zCrqbjyz?wN=cOl7WAo(dTpndI_=ug(*x)Fw|Jo}0)rbFw1~(_lGnF{F@Pg%Go*(5G z$OvopSD=wIM6m3MwM)5)@jb)3glm1__Zlb=#m@dDdylDa@B||KD2G5EV4Oy6Mvw%< ztN^FCKgS@Dh#k~GDNn8c@xWGFCoSQu@(r-5UM?; z3RJy8>H!F2(K#uWAkd2T=Y>=jxEQtS0rrU4LphS=cPf-W6<8rKMY1g@Lk5ik%n1e3 z7TAV4LoD3N1PQo@<=0mwh6qZK_B!#&bLqD}`8aA{GW|G1G(jawJpb-hyXdEHyM?yi zvWZfLIWjsqtO2gq3RF%~${2GQkAherSAgkfcGHi-&TPLdtl$bXuB=TESd=iNVz2Uvg4IDip?famX&AP>|)g+B^CUL%j#zHk~{_(vzxIae-YUj6vbf$zZJ zjzN0hpYNmlKX*6n+qBn8sl_^1GwL%5C@M@L=%y%|*uwkrTRg$kj%GUbAD>IJE|DU} zz8lxj>Q{b;XarusYoqcSD1|;qyc+`qXyi;!9E#-=A-oSjJV2F-$F~0#=5{GkZ^-I- zT-Y_}Wv>A1Uka4Xk~d~`{4qdAHrIK7`GyE@ob!)}Ur~RgLA8@i{6S(9Fx}c!0IyQg zsB`%Ydiwj$q?0e5PpQM}_>bR#@v$nc`_@{z{o31U&+1(?K9qV9lE5k)0iNdo*FA!J zgH*4S@--eKNZ$`iv6HOGKJ$L(bXtDRQ>bB@lwzm4qV<1rGwuB1J-Qf1OoZidh-)EG z{1lqs5e)k{bZLE*k_QQhkqt&3fIYxt+pid`P|=K9e-T!n>MoXF#TB?eOLU2qcW|T% zV!^I`+SJ2x2pR~NLSLIDDy|UfA^rrJVH0{QT#l&|PqWJ-cF2?jf7z4g&?Rp_o#vb| zi<;UR|JO9TA8mzAS=9ZzhpBJ%Zu-S1?xgiMt*3D=ZE(uclmO+-T<@cTt;Kg@^#kpx z#cxpo;2EYZokeH-<8x@nS$R43{tbKR!IyrWh92nA<{msl>2dJ5Kxt4_0n<(kiP2%thP;NEN#6JTW}FxaH5QFCVtt@z~A zsr&iMYwk@-vhDiLYFhVaH`D0Oed^Iw2`~jh{6)zFU^;Z}1FRXI%ON!JW#bVg2{u-( zZY$1dfAQTFs+^Hy`<&WLkVixu39eEcz}rj0A8Lhip@)#GQfS{nc@$!9;S~ynDo}xe zu=@Vm{e`N9;l-c^MkW_DrL}>kbv4n_C(ov{Ua^=KUeHOE#@|eMlxmQ++_r=6`Ql32 z@LyYKaK}DMG^ccog|0Gv&7)}&+)+HA;Eg~{?KlfGXO;<$We*CMlJKAT$*0qt=bnf* zwOS<@8K>TFucp<1bR*HQH1*3g(u4FWmtkL3_TivspYA26EXWiS@v0N#F2ac=ud zZ>mtkvm#Eh(|-fl%?@=fd7~>I_si(z!HaehW3XHBw`1f=Q2RgI+64)hdnb8>8Vp z!?b790ImIxO?3ZP*HYh_-C<#45q!B{m?EKyps*(0ED?Ce^OoQ$d57o$0F%<7y&22e zX~hRFra8}EHlgHX-;XxX`nTRpLu+y)*Ex2^V<5T|#Uc5nAV?R>5P_E_7?}qu z)Tjo*-z(0a_42=}Q1Lnsc9X3~~w#)s|hS%%IsT+9)YSdfl;nI?X(xg{Dk< zbmkRC21cpxp#j>pb}#j;+D$v}+eJI>?W3NReKa~asyzqZNtR%a+zF|iwBBM}q80rH zF&IXbW@@lcKWM^nmd9z)=2=a&@UoNW#8;n1v(D`D$ySH3B`NbfaQAlF_IG#E&Kn-2 z@qNQyVh$K&{lSv{vKpW?1wxlf&1!)(H5L_MoT{HL&YyYZA2$@mXGB!h+Lx$JQHTg} zzzF5ZG8u(}>~LQ6Y$>lglOPQ4WIey~3E=zq8r#Gps7jc?gAwwjU%g=^zw?rS_oX-e zU3mwJlOWO5=?ye>dLuQrO{K2WrqjH0+G+L~ZPa~w8?`N%{A|r5@hf{a@1q^}@22f{ z_tC?@=%Jkt?&hF&xPO!zb`qbD-eJB^?D}$OVK9TSe^deugjF$E*h6qEj7~^~WhD<) zYCpY`&i%+G)Oo>tYMf-_{aF7n_20FP9=iG#+Iz*1Luu0A{U@*kASX5E{hlGO3fttg)ybnjTS= z$gRcUbs_{R2y7jK;MlqzehTmna_4wzRYjNn^mcmN@BYw=fnO?xr6aG%JO9r$)myZ_AG{wx<|@z>5Vh7I zqdg37B|iKPE55Az8(xEtuwLgdsEr1J+H~0i3;t2??xsdvf-(v1Pd;{!Dt9&0 zsd_rpz0}dc4t;@Ci|K`D7l#b|(?echv)DvoFu6_xcwIutU|>-4eDpIG0Qo;@bJq0u z1IQsH!5_eQvDHel3|8YygeJ=pds@9=nlAhK@1gCtUruY^wDNW}_I575aDrak_awcr z`^)4*>l)KYKsQFxvbY%ck2Fa411rEEe1I34rhbR}!PyUN_EXhoYhV2cHnP_kkVbpr z1_-5Z&;maM0Ob!k_$}kd=6TvJ4m@9D_Pn%E>i*HICzVJ*IC9|g(LQ}{HFrO}b83`% z%pIe%0mf_;j22={v+$V(fB1c9_S$V@a5jL0K{|NnmuTV1!{nDjB|qlH z|6(D0yekR#nhii(6x|+)L!gcKkJiKL7WXdNx%$+`(|1+mb~+#GJ3)ky5DWB&EdeiZ zF)6RiDTcMs@`p%yvW^ohAPM}Y#bTD^5+^q4{{(uD$8i)%1pts|FjxW5Fe%@-^1bRn zD-O`3qbvZvtB|!!_%IhM6c)}3-f|R4_Q;I&9j<0>ugCM(7&lpjc&-YB)$j@^c7y?X z>kowE06Ehi_ybCVa17_giqYE9r9ZWu-uf$7(d>nD6s+MSf58bpb?_K{{SO|a!=F81 z=2V74^HMk_L4o&k2^=@X;w})_5k|7X-aEf%{%Er+&gh3X-m# zD_|Q+VCN&ZVV@siz*;VBsexJ<1vXm@V;KsnglLczf*2-EG)O5>5`vTs&iw>i8+6`f zo9K#Py_zn3_azgxVLbe|&(X8L_b;??;AL{&&@qWxK~R%2k^2y%KPC@=ju5B{OQGxL8a2P6L8b$A z4t`zO!v274!VSk3H9o1_0Ukjgs12M2jfgO*1+d(g;Se=ua0FAZztr#f`?k=Owx^^` z<@kWQ)!eX9dab2QR@*0VCjo$HS?+JBk!beJA22-H9_L7rwHE9IhhqqV<~2fEFNBf^ ztq+nC2}d-uX)Rs-`#(zGe$%#*M&KLwf0YjW+M~2|Y|*SLQ=bI_toMfZ0_GV?ES*N&r~JRr|q9-`M^zd z!8l`PL)P(GxpAPfPQ!NW3qnULiuJ0;=~R-T{gK2R{H?W1uCvt_4O?tog#m z`NP-0pB@Zr<@xW&=05Vi%2)g02-}EHR_d1VeiQF8JHH_3Ys;H8!c%B{M0q9xf1BEL z^ZN3<9Q>+(+YU2?QR#}335*IoYu}ePz&f<{d@Bgu6sQe*%mrg+Kres|y$^WU2$1yy zEOoLWQWXq1!t8KsS%S7;Oyv{s2~72;QXnm?3ogLMOI}CU{@Hu!{L9~%X^IoiAEkf2 z^&vX`^x;$t2dA4U8RlTEoZLZafer!$*H|e~%KUOmbWbRfC_0RXov%7PB-Vb3t^0Qj}af%)V@^#%pQeIaAcyb@2O^Xzy`YjgzT|$(!zgU1&4v^KxvsFmn7y-iN0@e~R*bz-q zpMsraLxW7qMF5dQqYO$20&0eo0<{;?gzg>NZrM)P+;ttTn$;eqU%KOSbm+mal55Pk zX72+H(dPYt;_TrAn8lH(4&^>T>=a8+p#MB`%)j-+wC8jt0O8GhHthPvirnrxZVr?u zzrq5Sa4h^}TlyRwSmX4@&t!=WXbha(()mR+h;JmooIAqE1t{^!Uuj05i~w0(-VJ}` zd*KQ6(Uh*Mm%qJghhJdgILVr1#a`AQu%yNSTxbh8a1<&TLp==XYnqmdm(H^Re22e) zk_e3qX%r|41UBf%%Ay&}Oo7xAteKmp_w2u!-gxDf_|RVb;vxEn8$Kh|sMzZOYm6E2 zR^Y^Gi?k;SKy-e&{@?zWIzy-Sh|Q3^yX}to-S@TeL_{~u?Akh9RX<$$`U+hFDG9Ky zQV5gevb}*c)Y%Pv4Ph2Zu5ziP*n$%B`o2qRce|)1h@tg6-Pg<^9%VZw`%DE(wQ|Y# zF%rOQ;jR=2uVDJs^(!e4=oJ7Fqt8*`&_YUuh{L5pNTBsO@{&8lTuOnYSon<9AycLJ ze=8!SQKM1_wp_iH-u;>P(dqd`dUVI%(9y5FWVUoN>k&*ThRv*C7cl-+vJ6J%k7l^s z`$3!IHq?A&iK-v}=&{}3>=b~T>4ADU_vFW`rWz2{t56gdML_!eYt2xZj>N09_wV5w5QbV-Jf?^gi>_c0A^Z{kJxV+mSZy%(xoq+aYMd89ojcT^CF~EVC6F}(5&Wf9z#!zIw;{m*)wYm>z*pR z=K?n*!^*P~oJVMI&>nkj#_Q$U@Y&8aeaZTD+meV&<{0acu`H7B1=+ir_QfB!J5l} z<_{9U6i7P)aoIB>K%SassHxuj;p2P0Ztr}j5BL7{gIg=A??r(easZMU;G(u{!MwzM zqITC95I8>{6}>H+&#_=A_g4>~57wYNqiK)j(i+#-pWGF`gsz?3q0PaY2~bb5MEs6S zFmrb|Y4=#eg7Ldt;#}V&8D@37YJ0==GjLcD!Fb{abVQXP08#UsdZKbu4y8cK`EAai z6&Xr(L=Y~MVTRD9{RB0M$CS-l0C_K(A3~5;g;6sk=YQd&M?ZCMsdhS_`OP$#o?5@^ z{+j9=d95%fwlvD4Ezr|3sm0fFI2MH#$VEu<;w$B*d)b^N@r7ztWE zRstZMT%(t_w2OMRN5c_IHLSKr!#_K^wF~LB0W9j^F%Ccy;gQbMR)S%s+&(J&3GL|- z0MH&Q1hz;n0zI`jw^?EEd6ZZ4YBHRkB1rN1i$y_&Y8ua$aI+s{{ge3Hr1*_L1@z_j z`DXvreElMq~nW4E)am6 z1X)d;i-Df6e#fxvmG;`_yiyy{i^y=WlZ~b!Sa(mVE&1 z`e;ia^3AWyQitU9W?@bZdiHC66@V^>cyjRDcuzO@mwU9-=i}a&1}&{hU%A zoBfsA9aHgX1D_G367@lcAIth#gXk3OWZJq|kBryT`IyUz*)QkZ$pwcI*`_@@LZ-2k zL@6o4tN3t1Q)KBMSiCy72o7rKlS>4c^kkMm#z^7BcFdrR6FNiw>ojM+x~5&0RFvUmklys&G^_DZ%a6ML`0ofu7(@nR=X~8#7pwRA?Bx0-Fz3`qt$~g62q=ndDPRsT zMPDF02j97Q{s#K(>jE z!fLFR*n!5Ae|%}~)U|^{`xZwjs<8qPF1~I3A6;5`+E@Ad?I9zOiWyqlr%K^ljPWbv zZH~80ePL*3IxqkL2$o4iK~!?39T=YnXgizs8r8NopgOtE9(U$wkoR95KpIJz834N3 zf?Oe=TZxAZ{(m?#iyrO73c{8uK;Z+h?c%I;*rk&lc^39i|LMQsD)*Dk zkUmTiavylW9bmKk45q;73!t3 zXEe)-+hTmPYUrlH@w=ZGXTjUdW5O#wGPCz8a#NqE$i2Oa`;g~uuifP(Pjl%z*5d6c z^l5$$8JcT=JXsz&;nXKStxFipS7zfdrQu&QPKZ?3vt{CFjQ*82!A6I)I6;U@(t61= zFa-<-;1D+1BP$7zlnfwho_v7>EVU{;L!m*YSPohonjd!|Uter;0wzzup;9#CGT~HP zUzF7zu?2u2*xDr@T1Ak5+`HyuzkT$NzdZ4S9_g#~j1uV3(bX4SvZ}8B+!1}hW`6k| zby1&iG^`Kfzfxbr-Q{ql%?o7UDx6(g4v|q8`BBTICSBTnlzFsNrX`>SsPW7Cp$;;k z!~@m<*JJ`9i64YI;rzyPM6mcZXO+uJNsR-^t7yT58nr^Kc|<6jXJ^|M0xVjwpdOVc z(0qY*r;}?%L0I53$O7JFsb{cY&Ob(HX~*i5o1dSA_Sk2=EDB^V4AG&@GgJ3E=WeLT z%_7{1ntsjeLL^l0+X#=^f%0fBC@l-H%%s&g?Yvw8!1;ZG*5waajouaeX98jEguc$x zKKU|02n%Qu=RwsnumC6>LKij80tZ3i{yA|RDVcyMVx+bOKwy_G1NeLVH*3El?`5@| zI?Y0jgyUz|r;-c)WmW)Up&qP|Zx$+|zdF2e;f{S{qCI_9VZ{Ov1{~1dwWrpu3k&Lh z*^#?A=lT53_IFbeC|`{d2}3PbKz%?fM$wc~I3^L6F00cgM3_So8i|}(0)*E#9{^4j zA!cI!9MjK(o*DtSkOkqfg<|}<7DV7mKEjohVE2Uw zCS-w5DLlON5z!@0e%Y>eME)ST<_}NKoY{BJh&cZ^I`papAPgQd#;;#J`)y5C{SJ}4 z(Z%K$`kz(idB$P+NzzgZq^ldpSbTm1pSs{zzG}d1PJzYhddj zM>+#8&c8GU`pjZ@o7jp_F|F8qXG1tcdR zxq{GXPBlI_JYxU6I?ZN*k!VX%Ad~r3Kf^bU{6oX$^v4%Z_(S*fWO&B`Uzx|GXO1~< zC+%K6xAqM`>wNVwA|I^5v|0piaD^Bhb7pZKTSaLq0B!h-pD{MslutGX-DJ@r09db` zL?lMtq@46b=%Jlr|_!tBrtgWf`1n3h`s(4gciB${IY?>O9<_bAFWKXM5I{w44H!OAyxZJOWo=>ZMSoD1l_ zY700gzy|QYaUK#b#gQzdV4_yx zd}w}X=TZ>xK88&b-BH@aouy$tG=$2(I<;#bI%=M(9qp&H_5Qn0e&X440sM1r0qmp( z^iNZM&C3_Ks=ChkY8R2;mIpq&f}ni6nE&MhG7kEa>t;T4l7v+P<2fp$Xgj@Z0hrTOG49or-f8BbSVKtYS(CW{vDk!4xGa(opE6K6_QmANIc0s_!m3Z#Nye1pj4L4`~O zscFHIB1!37c6^EGYgIG6+fOwQA3u8dr3dLj^hP{qGH}id9$mUE4`!3 z$@}jjN823H1-yc;D?h++D<^3et%%*2Dp+iOh z)X@c1(q)0_)FSf3)JF+V@j8V{#d64*nHw&71pvMCUrBt}E^}%HIF2vQZ&33uIclDD zj-IZ_{|7n$?|*S@_G>gj8N<1Fp#N_IU?;ni9$CF<{cwG~C_5X=GqM8*IBwe@1b1{J6WJ=$|fb=)8Hiu)1|n#d^h*CH}6yb+czFc=_&e z6QpQNE`TF+3>^}EO)&i^Nrejr{2eIFNlH8JOR?t^wnbmsd3ldE0Vehsz^PFVOZx*2 z-=mPz^F_zZ;`>6Bp84Faq$oQ~ibTDE_9xC4WQ@45J+;S(-wm)1ex|ydR+=T(qU;FZ z;&pQQYv~Q3NqmYO!9~xhk9f%4v1;VENIu&oV|u4zIQ(5Q3r$cC*0YMvy8T9y@h*I( zWG%Zt7mw^;(~zpK0%9 zOT{*or26qMti%ww>$&Z{k)Ky#<~YE+rp18B(wojID~yY~(~??-ly+zY9AN31hzs%1 zcd5jqv!ATY1N$+i40nM$sXfN!oT;9Y9fiht4j1MAp>d#}_h&m}%#8dKEkO!jC9E}& zSPup|Vtl%*#40R^KcH$f%&E$-{_93N^sYhq@3F#^PCcMQ?d%eT)I)W27^{; zFMhXJC~|%6?D>r{_=|+bdUW%JBi>1_4I92qnGZ9#SBl~ZVvl+rxqF(Kp+&5<`8Nl^ zjly1mOy@|q-)D(F_-A{p@}ipw9o6m}om{cJzL=?NxA!lm-*iebZ=2o}HOw`Ytjz_) zO#}FycFR_}ka3xjK_xtYRZ11x%Fghr(Wn?pL^5pMBW0E9G$>0r%Jr-@6;FE zeY&;Jf|ejPe7Ny%Sl*&u{D@!sSEN#ALbaE|Y!cghTcJq&oA;xcul-@WM1%}dzL~=Z zS?VAeopm*u=x?ALZ%vIKz@3vYg`^NY3HNtq4>i%}hKot(Dd$u*F04$!lX~n#W8pj8 zh(LNgSc<6r79&QF2dQ&?t6FBX4l>tyveJMdjfRP3Xa1Z#twV6;l+%C%4-ps4MiXi~ z8PvwVsU>-5*{;LZfuFad&}Nc`o-NDHf8gr7tt-{v{4L^BUf7$MXP6*2!j2MpDP)(x z&F4&MDYv2<8Pu!XEEndD9Z6_XfC$dP_s$R!HOAo!mo)5VSW<5uG+^7Wv(43m>~+Nf z?!W9_cB9L6fVZ7K7UGJ5pp`7-RP%G#`k|NOfP!bYq>CxoTLGC6aro$(x({hir>&q5};Lg2zesOS%IIxJ!^OF^|D61Zow%e7A6R|CI zHi9R1*{=K|{&;nIerKGbl!6E|;m4ic8GQglX>5W}-d`VzdpnRkvEE|);a+9UYB zP-8UlA)E+nLL0Jo6b{Z7HbNW3CUW7x(dh=^-FV_TeK4_HKkwxT$>v;LQl(EKj;(IC zrs5%~vo22}Gi&yJz)Q^_k-_pLw#p9oDSXxGy4EV}l-mgwYE>NExYpx)F@DOuk^BxW zyaQ#jZ~W+?{YpgSVwyO9E4*3y?ikuoyB5D&_gYrV>D(_6x|2Q~@djezhHUvJFDRn> zk()&Q&mXws#{2h$wS-6KKE-$cP8M#c6V29$WuESLnEz^~NmyV|UXZ2}r1`g=D=*{G zwP}ae2HufYwR?RO^|^tRXLEh-PRklUQPz_GuFmR z_1;T23vEKjoR`Oc1b(hYmX$uK%(d!3>fRif4v4xO3vHDLcBG-h;rH%s;fQo<>hPzW z*&^n-qO$aBD71UT!I~8!n)9zSqDY6#Z@`1hyr2jn14jSV6C9Ee{Qmqq$(VE?>sV)z z=*1skI6vCwt{{v49NxX*Vgsrez z3GIEuS&>kyV=gpf#vf@YA-(-8&~{c^8vmO8x*s2BEyf%+*-frpd{wKXj+xpq^pY?a ze^`!B=WNPD*jDIx@G|RIRoUSM?{0fD5+*pX3(9j> zua>QLj#Iim|SetZ>y_i^Q&h^oNUOM*+sDhk5YI4W9-=1XSLu+|k}MTIzG>dXSOq0-bCRu-NJW~o}V8pwi@ z-EUgc%Xy(OwPFV2S!$yMlsTF3g@$JBv-#JuuVs8O9s_2zm!2(S$3{U;8;tg-@o;9y zY=6!3m!a*wK~gYu2k6{9AFkf@Ja7mT<@P4Pj3oxu=#_q^Q7x@sCQ zvmioSl4Dtpmmv$2z+QkCd=mLY)t0aUy(E=YZxX!WYH}}4C+!r71sp(p>WU^z%j^vfZ z4H%ezX2i=rd*Y|3)|)l=Nbh-z8M7NBI900Q2w=sIs*o3q+j%FDR^xdje;BSg zd*YHFtx;^!l#f>Pqwy&s=Qr+v);ZUG6H*C}uy3#p>H*3)rvK?3?jh6fftfn|7ybshY^A@WKM8%8(A1leDn|vBlbykyj{1gW$TkXDR*a*AU$(M8D%9f?`$4O{bQyk?9&0P+JA@TNUibBJcS_Ck8bdkz zH^)!VI%&^_PNIp+r2dQsKl<~LUZcQ?eMJH494VD){trR4idJKurNd#y8X$2m#K+=T zRvy*slFJ&z7|vSSD3W5(Boo^#24{dJ@clAVEDWC=1&n{K?$9y_>ku2Dmw@OSkicg* zB^rTd+{5J`IK1(%G*N?7+Mkc27{R*0_csgY#Bus4+d;swwZ6*o^U_0*KQbg!`_+|t ziO&dUz4pJ+VTT>&tFn@{X58y{4g5m4_H+Q`$F`Nd^%$@ooujI* z)&4h@H0udp;o|Ak9F%A+tFmeL9r?G9^W4B>63l6p@tg7Mn2gHa@Zm^clG_z`LT!`H z*w~<>zd+>Bro_bw50I6&i^`dGxG(<__AFR2C5OBjbSp()72zYN*g*hnc~++MHGdP$DeaFy(EGi+lFkr9GRG~AiUgBS3jk6v>+%{eKBKFuV)k&h zLn+I`N|=;DROL+Spf-HvQTFL;_6J0I)z3LW>7hN2&^iMAjSnfiW$m3TwJc9~46HSN zN#wgJiF{{5MM6o*vzf)2x!L1H;Ko_b#LP7>xuq4&MR?JwgO97W?mG{IGk${lSNy*? zEAsT`YXKl|j0mz<;+;V6hi3R%U*5ff><4fYyWw37`5n*EqiX||=K@GK#U=XJH#>bM z?ZNn%X*E{2kt`Hp@%vjdfZzJ9P;(f){*)6Mva3BbwCW;0qtJnNkou@YOam`(QuS8y z;@?cJu+xI#uf1V;bOy7ZmWU%?O6c~NB=6BRGISe|%U4q*n#USUm^*HkJN-18|7Bpm z$$K7KLc>Es{aTf>oB@t7 zzWI=2e?6Sv*Fmi~@h`?cTWyhPt|vBl-6gPLw7ZBaozV!Y-tulJy~V8ThtVvPEuL!9 zrA_00I2#R9rrJ+P+k@*mn?GSVP@C4hjR?Vmk*+8{9=Zpm%;Ri`7SRcpSt2-hhUt| zsEW5bUN$(wP>lT<1ZUOWbSZyKF>A=0I%C1(D#Og4!3it8Td~}AB`YS!0=?*s9s}(h zLLddV>Kg%~dc~x9Rh|}URd1A8XrZya*i<`W=7vUz0Z&a`)$r@H+bC6h6keMxjNS>nIkva{#QkCW(!dczAZnfbv5|a@_0Sr8pcrUtx!bYe z^}Mp0Yk=b6u#$>(NB@PkdXljcZ~q61tgMz`9O>A2;P(#|%Y(0297WLE*Ya6&V(uX%=CW&MraCAtWA|ju-kH|!Arh3j6~S|CToR``tbkM zFv|X%hIU+GQa$C<{c29?wUMUX5OAMPL|8eIPofwp>_|n=BpL7}4UH=D0qWtGJc3hn z`o6_;NRh*gnKD0Y$V93R`FHQFXiW-B%-rw86vN(QeS?f+<2YX> zhdnjgxsjqesglq3e=!|am8NF3WB>WmZrAzsn*EjxnWx^QqOr1Io`SjJYI4(WNifT( zJd6`Uw|wo4c&^yyj59n`u!#zmUbHaa#v%KPI;fInwyz-_vZ0!QJ0ap)05ida+3z|$ zeIErZ{nDmh))J+tm#-CnbzNkkH&N}SHhYpAr`aCR6p@4a={F3w;x=ICsMn!2?O?Pz zCbYvFpAP1$2>2pA6wzLdG!hw*?^bH$Q&&(Xns;yqMe1%u-RIV^yh)hPR47WH#4p-+-48%P@$NmgXYSYD1Hou z6T~E)W=7JgT498bnPH_o`A;4S}x zN3YIitjfe4vN36Z>DBd$;x);%3iBt3zoEvALQL|^XD@Uk;oFfaJR8PvBi|$QZQf#5 z(+*IGY@K!y{cW&LyL>b{FFqb!Me%P&a3U{TK~=$ki9qag%#l9|Ai?{bVWPzOp$yB| zEwTp^F0Uq)p=u;PfpN0Is#6C|-={;Ya=u94Rt*PV*&J3T(XZ}0WVt$lufinio41yX z!y|?CA7mBK6POvJCK`&7tS(XW_{kB$kt%hMnrPW=sR;$Z> zit1EWASboSbd5}b_i;gS-cm6VUKQ283|h2?N1$9U0m`~jEZuX!t7(P|5d)eo)D=SzxU zFJ7vWS7m}E=oN{W*T!e|+sR2=b+~$|-K!P@i+*ptGC89MOCuJrxxGyQTY?18oEF>|<6b4|_<@d4XQrBf_0M}V06U7l#r$Hr(F_Kd8e zv*5zwo1D%{`fGgAme^>|LYQ&nBsL8CZ6pA4nxwk&dHuFLdQf=ZH_(CwCcS&&7RG`+ zPtBq0!9BpS2IuZ5o~o^y!MXZ#L?G@yX2f%d5NQ5F7)XAsup}4(-=AwYX*?x!38ieR zPb$qPZoL&Yr#cM_i^v9b3T4%Bf2OS136N)qm{N&{hALw=jCM8WFYUSB3q6_!mHzh7 zR0-)3G2eIBGf$l)lCxLd9w;Rs6{&=RQ+XqMj&p7p{bQ=j2eDc3Y%{R-*fX-KF0)OY zwnUvSuiG`-?_l$t%U^^J^;!k*CYu`MGsio*2k5zvkstl`pNlyyB-9R1g(p_NZ2!Ei z^>vrIy`7BM!7!U4N9`{#ks)P(HgSg(KGgb}>|1i7LE_a!(Jfy6RvAB+Eq|VKBdA_nS z-ZXx%U;XZ)y#H*F6oIGv>8Eaqm1(X?igiMFlIP;$u5Kbnj>9wMY@% z`kB8Tb%&Nc?3R0>_DXFC1v{BL{~?XcvtQqR_?!%gvOGU-$J(j;z5lJGcnW2O8vg3c zyLASSai|-Yr)wFXFS<=O8)yb+w`eN$SG0PC+ZPXzm{mQw(ngLuK z#QV$n8=r?M)?Nd6Y?}t2uN0x!P|-*{Sg-!JYGk1a76AgCOS{IDqW6?m4-Gl@wZE)a zDLIkKy}!KKMkS*H37J_DQt~EMA2VFU3S-}yoiw=FO#+!CvU7vjvpCPW5mT${PEQ3) zAGRxLU_KU9$So$LhQiL^kXt7xx`~>FMK{R-uCWo%N(`?4m{6^mpK$w~YZ=$XrB2KP(K z1{zJ17G`M~mE4_Qm;4ci@qPX?lz#zyI8Aw0wVSc?x0l%%yySeB;J)+D&xp32d-@$2 zf@nQMh3ZG~5e$e!aV|>9RLL{o6U$e?w8=e{4w>%K2^53D_)?p_3dtvPAAfFTo!E6< zaC7y7n|t#ayB!W76a7X%=bVavg!1*Kt8^j0xeYcYSL(> z_C0iySa*+gc}grbWs7@eIU*1#!Ox0xLy=0l>x>qQTN=lu7@}PEN@XzhNpT{cSJUyk zL+vNx^@n!r9zX=;)}S^)ga3)yUE5{HM!BGRc-`Z|qx{?+IsIr0-Q69&f2MmUUsfGs zuF+aO6*Ka%DaE0+qmv(_&9T zyMz{8@46uvX<@Z9b#7!A=1-vdFX|H`bXMoS(f{mLY5tCB7ergVZNRbiO+uyDiQ$Xk zie6voYpZw-FjF&BC0EaBLRsx)Oi$_!63LbVhCHn1vl!^nr@+5G*sfsEyYB5uPyXqre7TVsXr%0tyl;mzxC&8jr zKb})@fL3S-@RSWzr?3Nt>-#c7Z2rsqd*7G-m-(lqEV%WwbVTCOtzozW(|=H+c;m$i z-EVXlzP-?=Vu47DJp{qURmqzEGwz|jFZJLXM_VKw02Z_U;FPBBr9XSZo=T|*u~#?s z6-X==jQr9~%~b5$paCBupnTWt?5QqiU(TC}DcgR>UvzDJPP(57I0I6GSk}vk!}x0O zYSGU7`l z>JG63v2AzVU&S=!gOosZ_nc@i^nluKPyOrI6JQZ1mGL8Y5Wp(2kN1Ybv<7btB}#V5zNla<*2=AIY7j4_i|ID9&(Fmx#KkXSz|SWxC@e0($H~hp&dXZ>GU@;S9Naw}T%3abcZU;- z?NF41aj=1jubyoHotL+#lZ%@poo|qrBb|$vuRQ<|Sg`vW4;yU6#x|}!F{!$*2S8`U z<+jHqW+Yb6AVDXl14Rmcb3kWoHlUkWSr~;+!l~d`6Ok&P)wltNWQ4xI<%P0Pw*aUr LYJuwHZQlPsf~oWU diff --git a/public/favicons/android-chrome-512x512.png b/public/favicons/android-chrome-512x512.png index 6aa07a0158592d4e88d0936ca57d97f505524b3a..0d8a63f0d54a09e1b5a2b114f3450c043cc390fe 100644 GIT binary patch literal 182850 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 U9TM9_`fqFu#|UGC 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 z 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 diff --git a/public/favicons/apple-touch-icon.png b/public/favicons/apple-touch-icon.png index af04946776a82d65d19d96d94f1ccec667e2071b..e96c691b74fb31fcccb8cf2c0c3dc57d9497a40e 100644 GIT binary patch literal 31421 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 literal 7238 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 diff --git a/public/favicons/browserconfig.xml b/public/favicons/browserconfig.xml deleted file mode 100644 index b3930d0f04..0000000000 --- a/public/favicons/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #da532c - - - diff --git a/public/favicons/favicon-16x16.png b/public/favicons/favicon-16x16.png index 6eaf58b637dd1d300a51a241d655fa9161125c0b..875acd96d27c81b9ec2f599367e864be5e759430 100644 GIT binary patch delta 888 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 a^Zx@NK$eTr9UYJW0000!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081EXeuPlzi}!83-c#|&jp z8LFN#)I4OUc+ZgkjG_7&L(OxBDxlOT0*1i<|NoP7^rr&@E3qWVFBnKe0e|Aomw#SK zE&txZx{-z3ue(Af^GAm7qQ&eSMfd&|ep@K|Or1$3dCIB{?f>2zn>|*3VcNynDR}&t z+Jhrvs`p*CgfoU&?!IDfA$;|@>xZ_K)$5m(b1h5Q5$Vu<6=(xvlDE4{lJ-tnV01CC zmw5WRvOi;$7S)qAyvw;CC_Ty3#WBRCF^C1VGz0aqqb_6lrbe2qAt)QSaTWi6B zChlMV|F`U2?X=PL%<|oLcB|-DDn2>RF!x@9$;@v&Rk98tY%_F!D{Zdrj$~$xI65DV~{ zD50ClXu>Ge8)j^C8m|5+dA_x&&1(8~ghFx3**h?11Vl2ohYqEsNo zU}Ruqq-$WRYh)f`WN2k#W@TilZD3$!V35oxW{IL9H$NpatrE8ep_p~8Kn>wlArU1( ziRB6fMfqu&IjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5h zBFw@HE)6D!Q<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr E0Pw5bF#rGn diff --git a/public/favicons/favicon.ico b/public/favicons/favicon.ico index 83ccfcbd1952f40d0fc743866f78153ea2541371..23bd2f0e60d194b533f640bfd199b26a443cdc71 100644 GIT binary patch literal 15406 zcmeHucUV-{);{;S-yc^6X3orjim2Edb`%xtC>F3G*ei+^P!SQOHxZ;Ms3;;uiYOo| zDk8S1*b_^lCSpv8#w7Nx5#R6KXB-5gx!&)4et-Qwo@a5+oSAd>T6?d(_FnJ1j-K8> z^!}-*RO<0)rZ@M$^z^#x>FJr7X+O7?^z@Q>ty8BD-?!A$J7uJ&*P6fKExbc}orll< zW!Ca?&8ro3yP#Ic`+{1b(8;b^A;_&2fXrH+NUSplYxE}}*kJPe6^ePc7b(45#RJ3j zC%JB}?TYMLE0I?#5aOPy_ls*;{4S}s2V(Wz5pLj(RVK0UR<4Jea-HiUh3)Ot`cwG5 z8-KR~JK5eYgAg3)wFRf0cA(TL2M4S+A=xk#>-1M6Yj8g9U4Dd!1|{&8@@_jRyS{ff zv_&X&OQ^E|M<=D@)xBq^`S~u-fMgC^sUwC{5Ak<6 zyAZ1;d13Wr_SF<`giQCvp&iBYcg|7-7D*XcChf)&DH|gsD>z7fF-Gb`9jxTvym|Fn zK34tr`op!Ms)=w^Ex}~T9}}gOm?MpaE3dh#C&ESJAm37)u@?c(9`Kw#7aqiGz(=Yeq3We91wSpLo1*Kg$GyLa#K=Uc7ay7tXA z4PmZniuRh8vaG4+jl^cFkZK--lnya?|NcF09lMS-eZ1jpJQNNpOH6HVgVRMvY=s92rY~>XiizzFc29X;!!v#6Z`vT;qIZ^a@+TRxQB1|oyRwYr*P-SkMgx6JNKX` z$IDz}%zGs?qpUXzd7o#Uj3+-l#AUBioEW|r-*_BDS@I?Pl>aTtc3i~Sn7!CM(i>Bx zZWu^^>7=fQ78;ef|9yPpz}wlKH{h)MVVrg-!g+@hoVMMIqZXMcY`hNJRsKjcn1?`v zF_^8i!eFW8$NM$X?HE%(*R8Fiu-hsX$A%T)^r#}79#V+o-M8aFla1J^4n-p8jlcd_ zOjGotuQW#obzRyo+E>bRaAUJj*Nl$wxA$13zb_t`gF}6Du)j+xa?REvMIDGW1`Dvr za1_QUyP=25?0s8}=C-h)-Ygms8ufYhLZ3)cjgO<%|~B}e!hj<4`mOfL6S&P;Vv z%7r$IqbKL+AEP#dpS1M@kG4-Qp6Z|A=1DX z;f7&Ivf74V#U{qK6zY(I#ZqF$JjMF1?uLU?eGEr)tR{2Z=2Yq+)(tTh;@R|v%JC3w z?&4aclRSRTr4HNqyNucaY~P>l`y)X=0C5JPh%$`AmTp;i@yAOX@VJN&anMO1lOJ%d>3>SKPF#9dCs@8 z+~WBaUOPH&J2Fh7*nT+Mk7E1rSgT3F&&Pk0Kk=KJJFX+GeFoc4 zL5$%}#Hx#^!y}}0zk)T2ud!Nrk!#HW>WT zbtqo47v-nRD}R6g+EYX*ifMBxb-2X#Z%}S>o&JG+AlCVl=)t%z*7~8;VGMPctn7)| zivDm@4238Af{Tm%ys~2Iu9=UW_G@v%uK<^mPT1@h?RB$Rq?ChvJ8l zTUs4>YpAja;q2>3gztOjGuu z9yXP>ym;^oub;lE{QS9-*BqjC;ym9sl;^&9Jt@C(H z(Db9v^roJ@;b=Sn3wlh$`lWHWdFf`gdt9U_xJp~#!TIhj6~ae4L@B`vX+M@qxwN|t z$KRZ`cfcU26Zc!4*?wpGWEWX<54(8eG)9~Bg3ss$NC}L`zOA`9mRp3Ql)XGp3W|s4 z7w$mMUQV;ff&kxdr zpDo!3-725+28Z^XE>U^EZ$ATiu_XY8v-SuGC`%rb(f2meydF6eAy}Ng?dN zei$d&V1hLGgA9^CJ4*dAntR9p?Vs2S4pxtaooYHptL9;>Y7v~c&m5~-%+K?wlO6RL z4HwBl-gC}Tjm0e0Xv|QJz!cT6%I3xX@9X1d5#t$xnKlmS+t?hPHI2}zZbMkNYKO4{ z2f@Q-E{gW-t-ME^bk}r)mAWtbQV$#TNDSulZB^qaPW(I?3#9QJlPU0^exB-?@YKwN zhtYJn8&AOkqw$r`I(Og{92)e8m%}`442nkH)=V78E5QD|UD%$Iis;}FIFEHiC(}ka zarkKEeH}He(M8h%-Ka+obuaW%_n|)hWSx4dt>G!n#7gyC1Q;zuU|n|v*KvLXDOnqMjF`8mvT2V_(FW`68;xN~|{Xs(en(6EPk_pXZOCGMCZr4=FP2Ow~!8!j9>S?!(<%nRCS>Y@#$m65S5EqT;QWL+<; zGY!P1X5mO_69ev-k=ko8~{Nm%yi&rtZb#Ja~P3iXy<=jT}LCyAKP5rRB`D!^=%kPnl zt1;*B_VH_+n|lOb+3&^iVY_j3NItFxpT-}j@8I2seECy~ynXo^Hx6Au%B*0_(DY<% z>%e&4l6h%kxer8s*GeP$Uu(O_^I}YWD>i*-|M1iTym_SE>pZ^v0B4+v<-F^ZT_L`* z$;V;qY#i*Kh9kqXaANXKoN(TWqti36Z`68hv+zZvYBF<;kyxr2ggMOlCvXiJF16v> z)&v&n2Aqd~X}==I)TdnJx!c;WgRuXr>HF~L(tVsBTZFTYhj4yu3C@k89>ezGWdD2| zwai9w`>iN!nt*(hNaSb&k*@T@X2XS8YcPZPh7(p8497x6Kjx(tTu<6@eQQcQ;uGy_ zr1Gc+D^k}t2|;SxSnS~V7xvA-QTqa%9Jvo?#unp((_vf~Q-bsMML1)#7bmT9akSGm z6u01SP2-Sn6prmmU!)i;!Fv5Uh#=nLV=w})iUF9S>@K(8m+cGtKhgiGtLiWB8rR6b zBB^DB?EeM5Qc%QP_1N$NoEmiiXB~=hesnR;iS`E-;*@nBj&;t&p_W^)-!vWt#u3O- z1|XGt!S&2}L>{q%?aycX6PeeFy=8CqznF*ZKJ>pBcS=PwjY7@^V;cH|iP)3cHU>Es ziSir}{x95`x9kXuJ5h6ziCYWug@6t(f^woNpk-6AqV`&x<-Lvo0^ALq__V#4-c{*4%_D8 zsO>Hs8^p2iw-Y5jvr*JB6? zR|X0#Qn9PuChTk$kE{l3kYW^!jmi~>Hgrdjfiw5+jQr5y>)QPP{U~q}LbQ6*DPM|{@TYn?dO82hsS{8yuXeBFcu+{ zK#H&7xVI||CzN?9r>1*KGweL;%&+ID=lD;d7CSHU@@7*G16);W)8iO`M3+Qg_*=;rZBIaNK9k`LYd#AfDTnQ}qJ5`|l-yJD%ci-}9^PwAgS+mdT9PTW>&*|Ti6vxC@^Xt$;f zf2VVGEJcf<=x`K)CFKzN$YkE1&N0|ZOlEVP`NXhY7++=**P4z9VoIwFW^xQ>6I+@G ze}x--h%I?5yx_^XxJdGOwovj-tT_$=?Duv0a}qZZTOi(rj9OkFupWQf5Lm?qfw5@i z@9ofX0=h8}&k%hfFcX2D2rNmolT^ozKD2;1{alU#`2vHv9D@Z2W6TIKTuN-pn>GXx zBMTum6iypfGd~LF-aItX#Uwx;2hs0g1{0m5^k+OvAjYS~XqM8339bG* zEHIEh89@F0sJ{>O_on_{!~~ZSlUhbx&w#zh%gMnYQsou?w*c}k$Z{HZ6zj< z4nO5K+K|rtI2mrz#?tvl3H6p347T$!w66#to+{SZIQ?0)Vg6ris5&1+e|~x#w6^Fl zJaNpYzX=>Km-pn*kFtp6Z6lVKN;|gHA=XoeYn;9x^$$QSd7vnR)x>pT5#MYpemVUs zZk60cLi<8u3;DzrcF~4>=KDF!`_n3xNXd3C%D(CDiox(U9DzW6C$5!KDs4#OIHYo} z3H(%WO*x#?Vjk+|gs?-*Ppydg8iL)5RoHJ9i-YYFaH!Kp6jKiHe2-Z)b|^yW|3TD0 zkk1XI{y~gEA=E!i=BnZhq7h5~$QiyHKONKJTLMG5Rq{KsMx7^CbBI{ULE2CVFKH(h zD>KrjD0`O8QS_5>LT~OdgJ^@mD`Pnh>*-6I>$r2S3A}KbJomCW_F6kcOyu0AK8Gwe z;>wCcxKnT)Prm&f&&wX-#ZQm%vYfdkMVvq5wa5IfeD`%+Sa}G$xF_7AA5N|zg8mat z{nrv#+=y8EO1jlP+`I5G*SvG)DY4eCiEW*v4PS8_4in?qN1StK8Tq)kQ@JOYOB)sw z>l8Kwa<3Xr8>01{8K38JjNOo2X9@evQ=WU7oP+tMVK_N13-?d|jQ7Nx{?otr@807c z^M(Tx_aLcJ64n`Rl5x>k!))$Z@)2)ZOdFo!=VMQ>q4`Dn)CEK;F4Bf`^rcdc!C}sY zy>CWvFC%c$X|zF%gF9{TqA&S#K8QKJMt=rzTNjSS0*dfQ z7zY>H;KupjDX>;U2d;(WOAMxQEM{RX$0DOcARd1AYqfl`rcVFqXMq{qzxEi(oevTh zE~M@yloP~c&m&fKnaA&Bj5eA$X(TbqaM}>8JOf|ph>R24axZO98yqa~n}wB=Yu&L^q& zW}Hj9fVVF{Vl=NFy+yd9i25C;pPb?Eh2LDG-aoMa%Xqv+9}*b(chvu)j1zZf4q-){ zT43eE20Pj?hB)bX;*?XF>&{a2XU;Vk?uy~e0f?Jd`FncjA(DFfVO^6YI5002-)5f1 z@0ZH)sO)z<`RM_kmOqq5oIfo41NScdf=gNFv1|SggflmfC(r-n&eJMS1pQ(kbvr^I zDWwfxQ{QiC!}oIE3yl4v{$Dc=37oqDaqdRMdz;8u`ykpdoHhu&-HG_?M9zun%D&`c z2Vx%cm#Tk)`~T%a8Fc)8)$jh@`JcoqemYl zCF07-%XoP20V*o0#~<;`IZ`zD$BEqQi+$Qoax8n{Lw^#nQrO~4@!>u~=)P3SBL>%; zSYRvqPHWELw&YsKdC+$TQTM^@{~^?W81)ymCU%snf1+-rC^a98`%WPz(1Z5%z!*(0 zOl>{{b2^W~0?TojPjTk?_!hPprmnMH$LQM|nvZ(eC@KXlKXDg}^(h`?Ma zfn0R5%!>#+mXRy+lJ>~rDdlsFa<~Ugquy=V=jQD54(#)eGFLO0`fB-_F6@6TUsIE} z5$)Z-`x_SY8IOsrY!I_B043RbQFi${?%w(tzx{j{zyESimU}$E!)rfWzJY_=_aVYH z1fyHoVRpY+_~Wh?)79zkL>^P%cpjYyzDHaa-&^RKk&mxlyu|ejSJ{XE10I(5e0%;X#51b?*~@&) zd~z{MF-hf%spN)cN|Bf?#gdCzN1fO4JdR@&CG%Iq$xVrxqEY1A#;~qP)E4PP)EJHC z^-+>FV^J^8^4>E-HPPQ`lHC|=IIoMye??2V&KmC1g^+5Dj562+&7}*ZNkBwBj z$hHW+&OzmdF+2*6Y@}+otm|~io?|pp=F4VFtQ(@t5~31(*+@)N*~^^SL{;_mOX&9Y z&0G9_=N`U3aSka_8?boXEDUeo3q4F)kQXA4X50w9nsIN^i~ErY+(Y^KBQGl(KbDo@ z_3OX-ou#Hb<4JGyp&k9mgV?A?$voc>)p&?nvZ1O;@^OfIynJ17d~+p7nQwEICUR~} zf*XJ1rk*6%m@VM%=4qVdS~F)&_5Fj0>$z*UVUE=}4AgXDo9)osxGij3cEgCS^v7NU zFtS%a4C!hKt5$7cUe`qCdj#iW-Nqcr2^;Y0)vIbl)P)?Fs9CerSfZ!KTCQE|qaGyl zgu)&%HvM@NyrHCd)2=D zHy?!WT)ub_FJDyWF54UFc*z#z$6C>rwlX&F>`Hgx+pTK(_8Ha8M{hNxK-b%SOUQM=fT(t@I` zVHBLJ_H%Ris}~|zvk2kFo`|f!T;^J18~P#6%pY-0v=ZCY57AA15ZT20ixm`W!o%P0 zbA7sprw<>ag0+=j^4DHdpL~cA6LOPUezpzmX+wKtG5T=iwbn)rD|HuKZ5%nf_{Kq4 z-!ue?%~xSl%W!OJt(A?f!;sJ_g9UAzFwUqSMypx( zAl62%>qF~x#I){15HiODMcY}^TYiVNqSg1#;^7^rySb(wb+1Q#MeQfWNN~J=m6p7= z%6KV6O=(;M)`m3>W^HLWwzP~yO514Gn8qTlL!2zB9muJ6h_0spyElL0()P1Rby^Gm zX7k}uk8`}PBjy;5#0<49CbRC*%lk{=ZlYhCa{CDl50pF9EH$EqPAczme-pO590|~s2Kwn#=4nY`=+Y; zavki&y=XVu(uM0z2h8g=0;dlgspeNNo;_#XP6N(MVMAS+SJUdRrv6%f`yL1A@9^-E_~b1z{-wOvBF{sf(H}7@Lh{;L1~4#~_on#pKA4-*csq7lV2R1s}mSp= zhuB6ilIT0z==V8Y6S0eZf7odk{y6t5G0O)yHSqwB+wGA>aJNTo$(atz!w;J-;pxps za$SM0p5rqrR=fO;HR>-OJi(o-WyteikJ%=Dn5&6A)tvcKE16f#( znmF>EivDm>TFEs5j&glnYvv@)nTt2(TsD>KGlc%S8j+g%N13jClc4MW5BeXTxC;-j ze9ViU{qPuy^u9F z1)XD&+aUtm+XN%MIo}E4`vU8@w_0sD0YQdiu+q>D9ts=cOMQu#^^nJ41nU|Gv2IZK zkWPQ|&*`sGzGa<5nOL(nw}_DArtlw8XHzmd9}m9%4Nt#+j58BhXW?)V=U8`fZY*WY zA)Fn_y8Gc;?*Bwz);{#eMoH&16tzu4VKeI9CD8LEUFC4ST!eR3i z9Bi=(`x?h%H*1#jjKYw^d?`b*94W*WH?ekn9eJuq;;BKzB)y5Tx)Y}q?RCtk80p!7u(RcLeyC#w~j()#{}%`o+QVggM)H#WN1FV8nG9pV_5Sc z>RxEW#Si*l7{M_aO4|nR!KvPP_=@j99POBnl2%(#WVQi?4PxawkX%(TvK2l^V=YFK zzAO1U7uLW}mEQqaL7aP$p$%&jtl9q-mHLa?5S{;2_5TkwB66Kb3yowKVH8j=+SI2s z-c0z=YT~YO+8ESJI|d?l9%apnsGB)GhP6BNpYskB_WyaE{;Z!V?VXPkmOH3_21;5d zqo_$D_BB|C-E||8s|uz5{zxYty_xTJ#0##J`UjC?SZ-j)x(*vSQ~&WwQP*P*8&TUt z{};7A9r^BwsIL<9w?_OdH8V1*C-_sY0nTv^{hw`U#(J|hAI6~DX1-&Rh64lW*S4%_ zB_}0p5HaWs-#L-Rp65epmks;B568(e=Y#&7$JD=&`WMt)gPp1{WKsWALofP|JGr_! z#NwwSfHec2oWt|!KcdFlQ7P)8+R5*%^kn?$O8q-sfOng)@10xt<_^Trlgk z5-Z1`otOvf<#lXt?`^bUJ8fWn5M%!d`$C+wryWAX{I%VKll1?utT~5SLv^_0HXLld z1^f6e%^p+MUQz!X_Ww4eKi?_yB3I{5F2qHyLHA*u!(#fsi(-IWA3mB`nXRbnlA6I% z)rfP~gubtx7o&uAZC#(nhLT*jnbJyU2$ zI`*;lX@4K?>v~hHSm)Ox9eXXfPwkk5yfz!Lqd99u8UHi*UPy{@2sW$ykf2;nE@%-} ziMkBdX?PlrV=dkY_Pq^pZ7Ufcwo$cX-#2I6Y0P=s;0=AJjQXc>?%IjD`ni6uX~X}0 L{=Xjh(jNG48U~kW literal 15086 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 diff --git a/public/favicons/mstile-150x150.png b/public/favicons/mstile-150x150.png deleted file mode 100644 index 44839aea96774b32fe1b44ad2aa9ee81bdeaca45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 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 diff --git a/public/favicons/safari-pinned-tab.svg b/public/favicons/safari-pinned-tab.svg deleted file mode 100644 index 8319c307ba..0000000000 --- a/public/favicons/safari-pinned-tab.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - -Created by potrace 1.14, written by Peter Selinger 2001-2017 - - - - - - - - - - From 4b47bb31a38f3fe247a52e12b194ccdfb24f0d15 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 12:55:53 +0400 Subject: [PATCH 004/121] Add Cere Mainnet and Testnet configurations --- src/config/networks.ts | 107 ++++++++++++++++++++++------------------- 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/src/config/networks.ts b/src/config/networks.ts index bdefd290e6..24f2426e85 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -1,62 +1,69 @@ -// Copyright 2022 @paritytech/polkadot-staking-dashboard authors & contributors // SPDX-License-Identifier: Apache-2.0 - import { Networks } from 'types'; import { DEFAULT_PARAMS } from 'consts'; import { ReactComponent as CereLogoSvg } from 'img/cere.svg'; -/* - * Network Configuration - */ -export const NETWORKS: Networks = { - cere: { - name: 'Cere Network', - colors: { - primary: { - light: 'rgb(183, 174, 255)', - dark: '#EC6E79', - }, - secondary: { - light: '#Ec8f6e', - dark: '#Ec8f6e', - }, - transparent: { - light: 'rgb(236,110,121,0.05)', - dark: 'rgb(236,110,121, 0.05)', - }, +const cereMainnet = { + name: 'Cere Mainnet', + colors: { + primary: { + light: 'rgb(183, 174, 255)', + dark: '#EC6E79', }, - endpoint: 'wss://archive.testnet.cere.network/ws', - subscanEndpoint: '', - unit: 'CERE', - units: 12, - ss58: 54, - // It's a draft icons set - brand: { - icon: CereLogoSvg, - logo: { - svg: CereLogoSvg, - width: '8.5rem', - }, - inline: { - svg: CereLogoSvg, - size: '1.15rem', - }, + secondary: { + light: '#Ec8f6e', + dark: '#Ec8f6e', }, - api: { - unit: 'CERE', - priceTicker: 'CEREUSDT', + transparent: { + light: 'rgb(236,110,121,0.05)', + dark: 'rgb(236,110,121, 0.05)', }, - features: { - pools: false, + }, + endpoint: 'wss://archive.mainnet.cere.network/ws', + subscanEndpoint: '', + unit: 'CERE', + units: 12, + ss58: 54, + // It's a draft icons set + brand: { + icon: CereLogoSvg, + logo: { + svg: CereLogoSvg, + width: '8.5rem', }, - params: { - ...DEFAULT_PARAMS, - auctionAdjust: 0, - auctionMax: 0, - falloff: 0.05, - stakeTarget: 0.2, - maxInflation: 0.05, - minInflation: 0.0001, + inline: { + svg: CereLogoSvg, + size: '1.15rem', }, }, + api: { + unit: 'CERE', + priceTicker: 'CEREUSDT', + }, + features: { + pools: false, + }, + params: { + ...DEFAULT_PARAMS, + auctionAdjust: 0, + auctionMax: 0, + falloff: 0.05, + stakeTarget: 0.2, + maxInflation: 0.05, + minInflation: 0.0001, + }, +}; + +const cereTestnet = { + ...cereMainnet, + name: 'Cere Testnet', + endpoint: 'wss://archive.testnet.cere.network/ws', +}; + +/* + * Network Configuration + */ +export const NETWORKS: Networks = { + cereMainnet, + cereTestnet, }; From a725807795169041d55eb6011782d1f8cb3be955 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 13:03:53 +0400 Subject: [PATCH 005/121] Update default Network and active networks fields --- src/consts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index 648522bd80..122e02aff1 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -13,8 +13,8 @@ export const POLKADOT_URL = 'https://polkadot.network'; export const POLKADOT_ENDPOINT = 'wss://rpc.polkadot.io'; export const WESTEND_ENDPOINT = 'wss://westend-rpc.polkadot.io'; -export const DEFAULT_NETWORK = 'polkadot'; -export const ACTIVE_NETWORK = 'polkadot'; +export const DEFAULT_NETWORK = 'cereMainnet'; +export const ACTIVE_NETWORK = 'cereMainnet'; /* * Data Structure Helpers From 2fa6badcc09eb01bbaa49b167365fdd95caff1b6 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 16:53:36 +0400 Subject: [PATCH 006/121] Adjust constants, networks for Cere. --- public/index.html | 2 +- src/config/networks.ts | 12 ++---------- src/consts.ts | 14 +++++++------- src/library/SideMenu/index.tsx | 4 ++-- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/public/index.html b/public/index.html index be594985d1..c57b34661c 100644 --- a/public/index.html +++ b/public/index.html @@ -27,7 +27,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - Polkadot Staking Dashboard + Cere Staking Dashboard diff --git a/src/config/networks.ts b/src/config/networks.ts index 24f2426e85..df34f820df 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -8,7 +8,7 @@ const cereMainnet = { colors: { primary: { light: 'rgb(183, 174, 255)', - dark: '#EC6E79', + dark: 'rgb(183, 174, 255)', }, secondary: { light: '#Ec8f6e', @@ -43,15 +43,7 @@ const cereMainnet = { features: { pools: false, }, - params: { - ...DEFAULT_PARAMS, - auctionAdjust: 0, - auctionMax: 0, - falloff: 0.05, - stakeTarget: 0.2, - maxInflation: 0.05, - minInflation: 0.0001, - }, + params: DEFAULT_PARAMS, }; const cereTestnet = { diff --git a/src/consts.ts b/src/consts.ts index 122e02aff1..bf997a64a7 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -7,9 +7,9 @@ import { stringToU8a } from '@polkadot/util'; * Global Constants */ export const URI_PREFIX = '/dashboard'; -export const TITLE_DEFAULT = 'Polkadot Staking Dashboard'; -export const DAPP_NAME = 'polkadot_staking_dashboard'; -export const POLKADOT_URL = 'https://polkadot.network'; +export const TITLE_DEFAULT = 'Cere Staking Dashboard'; +export const DAPP_NAME = 'cere_staking_dashboard'; +export const CERE_URL = 'https://cere.network/'; export const POLKADOT_ENDPOINT = 'wss://rpc.polkadot.io'; export const WESTEND_ENDPOINT = 'wss://westend-rpc.polkadot.io'; @@ -71,7 +71,7 @@ export const MEDIUM_FONT_SiZE_MAX_WIDTH = 1600; /* * Toggle-able services */ -export const SERVICES = ['subscan', 'binance_spot']; +export const SERVICES = []; /* * Fallback config values @@ -112,7 +112,7 @@ export const DEFAULT_PARAMS = { auctionAdjust: 0, auctionMax: 0, falloff: 0.05, - maxInflation: 0.1, - minInflation: 0.025, - stakeTarget: 0.5, + stakeTarget: 0.2, + maxInflation: 0.05, + minInflation: 0.0001, }; diff --git a/src/library/SideMenu/index.tsx b/src/library/SideMenu/index.tsx index 16c56401ea..f048cae3ab 100644 --- a/src/library/SideMenu/index.tsx +++ b/src/library/SideMenu/index.tsx @@ -20,7 +20,7 @@ import { ReactComponent as CogOutlineSVG } from 'img/cog-outline.svg'; import { ReactComponent as LogoGithubSVG } from 'img/logo-github.svg'; import { URI_PREFIX, - POLKADOT_URL, + CERE_URL, SIDE_MENU_STICKY_THRESHOLD, CONNECTION_SYMBOL_COLORS, } from 'consts'; @@ -136,7 +136,7 @@ export const SideMenu = () => {

{ - window.open(POLKADOT_URL, '_blank'); + window.open(CERE_URL, '_blank'); }} minimised={sideMenuMinimised} > From 77ebb76df3ed46c03fa14a90cfd519dd5576202f Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 17:13:17 +0400 Subject: [PATCH 007/121] Add Cere Logo and Icon --- src/config/networks.ts | 7 ++++--- src/img/cere.svg | 26 -------------------------- src/img/cere_icon.svg | 13 +++++++++++++ src/img/cere_logo.svg | 18 ++++++++++++++++++ 4 files changed, 35 insertions(+), 29 deletions(-) delete mode 100644 src/img/cere.svg create mode 100644 src/img/cere_icon.svg create mode 100644 src/img/cere_logo.svg diff --git a/src/config/networks.ts b/src/config/networks.ts index df34f820df..4327279ec8 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -1,7 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 import { Networks } from 'types'; import { DEFAULT_PARAMS } from 'consts'; -import { ReactComponent as CereLogoSvg } from 'img/cere.svg'; +import { ReactComponent as CereLogoSvg } from 'img/cere_logo.svg'; +import { ReactComponent as CereIconSvg } from 'img/cere_icon.svg'; const cereMainnet = { name: 'Cere Mainnet', @@ -26,13 +27,13 @@ const cereMainnet = { ss58: 54, // It's a draft icons set brand: { - icon: CereLogoSvg, + icon: CereIconSvg, logo: { svg: CereLogoSvg, width: '8.5rem', }, inline: { - svg: CereLogoSvg, + svg: CereIconSvg, size: '1.15rem', }, }, diff --git a/src/img/cere.svg b/src/img/cere.svg deleted file mode 100644 index ae7adc7ecf..0000000000 --- a/src/img/cere.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/img/cere_icon.svg b/src/img/cere_icon.svg new file mode 100644 index 0000000000..1cf682eb48 --- /dev/null +++ b/src/img/cere_icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/img/cere_logo.svg b/src/img/cere_logo.svg new file mode 100644 index 0000000000..1ad76cba25 --- /dev/null +++ b/src/img/cere_logo.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + From 56b8820400959f68d34b7757071e64a1443d68f6 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 17:37:35 +0400 Subject: [PATCH 008/121] Set default Variables equal to Cere Mainnet values. --- src/consts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index bf997a64a7..1394a097f0 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -77,11 +77,11 @@ export const SERVICES = []; * Fallback config values */ export const MAX_NOMINATIONS = 16; -export const BONDING_DURATION = 28; +export const BONDING_DURATION = 3; export const SESSIONS_PER_ERA = 6; export const MAX_NOMINATOR_REWARDED_PER_VALIDATOR = 256; export const VOTER_SNAPSHOT_PER_BLOCK = 22500; -export const MAX_ELECTING_VOTERS = 22500; +export const MAX_ELECTING_VOTERS = 10000; export const EXPECTED_BLOCK_TIME = 6000; /* From 7b0fd5758c6817d1d6a8704388cf7db14c2b6f63 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 17:47:58 +0400 Subject: [PATCH 009/121] Add comment for useInflation hook --- src/library/Hooks/useInflation/index.tsx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/library/Hooks/useInflation/index.tsx b/src/library/Hooks/useInflation/index.tsx index 39420f31f3..4ce7ace94f 100644 --- a/src/library/Hooks/useInflation/index.tsx +++ b/src/library/Hooks/useInflation/index.tsx @@ -14,14 +14,7 @@ export const useInflation = () => { const { lastTotalStake } = staking; const { totalIssuance } = metrics; - const { - auctionAdjust, - auctionMax, - falloff, - maxInflation, - minInflation, - stakeTarget, - } = params; + const { falloff, maxInflation, minInflation, stakeTarget } = params; const BN_MILLION = new BN('1000000'); @@ -31,7 +24,9 @@ export const useInflation = () => { ? 0 : totalStaked.mul(BN_MILLION).div(totalIssuance).toNumber() / BN_MILLION.toNumber(); - // Need double-check with stake logic + + // The idealStake is equal to stakeTarget since + // Cere Network doesn't provide auctionMax, numAuctions and auctionAdjust so far. const idealStake = stakeTarget; const idealInterest = maxInflation / idealStake; From 8dc92de274967f6aa50dee6ca6197945ff51ff5c Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 17:50:55 +0400 Subject: [PATCH 010/121] Remove auctionCounter --- src/contexts/Network/defaults.ts | 1 - src/contexts/Network/index.tsx | 10 ++-------- src/contexts/Network/types.ts | 1 - 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/contexts/Network/defaults.ts b/src/contexts/Network/defaults.ts index f6490aa719..94c334d155 100644 --- a/src/contexts/Network/defaults.ts +++ b/src/contexts/Network/defaults.ts @@ -10,7 +10,6 @@ export const metrics: NetworkMetrics = { start: 0, }, totalIssuance: new BN(0), - auctionCounter: new BN(0), }; export const defaultNetworkContext: NetworkMetricsContextInterface = { diff --git a/src/contexts/Network/index.tsx b/src/contexts/Network/index.tsx index 284a865301..b5833c1800 100644 --- a/src/contexts/Network/index.tsx +++ b/src/contexts/Network/index.tsx @@ -50,12 +50,8 @@ export const NetworkMetricsProvider = ({ if (isReady) { const _unsub = await api.queryMulti( - [ - api.query.staking.activeEra, - api.query.balances.totalIssuance, - // api.query.auctions.auctionCounter, - ], - ([activeEra, _totalIssuance, _auctionCounter]: AnyApi) => { + [api.query.staking.activeEra, api.query.balances.totalIssuance], + ([activeEra, _totalIssuance]: AnyApi) => { // determine activeEra: toString used as alternative to `toHuman`, that puts commas in numbers let _activeEra = activeEra .unwrapOrDefault({ @@ -70,7 +66,6 @@ export const NetworkMetricsProvider = ({ const _metrics = { activeEra: _activeEra, totalIssuance: _totalIssuance.toBn(), - // auctionCounter: new BN(_auctionCounter.toString()), }; setMetrics(_metrics); } @@ -85,7 +80,6 @@ export const NetworkMetricsProvider = ({ metrics: { activeEra: metrics.activeEra, totalIssuance: metrics.totalIssuance, - auctionCounter: metrics.auctionCounter, }, }} > diff --git a/src/contexts/Network/types.ts b/src/contexts/Network/types.ts index 0359ed72db..45947fa568 100644 --- a/src/contexts/Network/types.ts +++ b/src/contexts/Network/types.ts @@ -13,5 +13,4 @@ export interface NetworkMetrics { start: number; }; totalIssuance: BN; - auctionCounter?: BN; } From e67deae2aac5f1e673134e54720f50fe7079a7e4 Mon Sep 17 00:00:00 2001 From: Alexander Dobrodey Date: Thu, 4 May 2023 17:23:04 +0200 Subject: [PATCH 011/121] [DSD-331] CI/CD to Cloudfront --- .github/workflows/dev.yaml | 20 ++++++++++++++++++++ .github/workflows/stage.yaml | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/dev.yaml create mode 100644 .github/workflows/stage.yaml diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml new file mode 100644 index 0000000000..9a635a5ddc --- /dev/null +++ b/.github/workflows/dev.yaml @@ -0,0 +1,20 @@ +name: Release to dev +on: + push: + branches: + - dev-cere + workflow_dispatch: + +permissions: + id-token: write + contents: read + +jobs: + build-and-deploy: + uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master + with: + build_container: 'node:16-buster' + build_command: 'npm run build' + path_to_static_files_to_upload: 'build' + aws_account_id: ${{ vars.DEV_NETWORK_AWS_ACCOUNT_ID }} + s3_bucket_name: "staking-dev.network-dev.aws.cere.io" \ No newline at end of file diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml new file mode 100644 index 0000000000..04246ee25f --- /dev/null +++ b/.github/workflows/stage.yaml @@ -0,0 +1,20 @@ +name: Release to dev +on: + push: + branches: + - stage-cere + workflow_dispatch: + +permissions: + id-token: write + contents: read + +jobs: + build-and-deploy: + uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master + with: + build_container: 'node:16-buster' + build_command: 'npm run build' + path_to_static_files_to_upload: 'build' + aws_account_id: ${{ vars.STG_NETWORK_AWS_ACCOUNT_ID }} + s3_bucket_name: "staking-stg.network-stage.aws.cere.io" \ No newline at end of file From cd1d8ea608414fdb655adce1e33a122a675cc048 Mon Sep 17 00:00:00 2001 From: Alexander Dobrodey Date: Thu, 4 May 2023 17:33:30 +0200 Subject: [PATCH 012/121] [DSD-331] CI/CD to Cloudfront --- .github/workflows/stage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index 04246ee25f..1f29775003 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -1,4 +1,4 @@ -name: Release to dev +name: Release to stage on: push: branches: From 6508c597df3b251fd1343d0ad9493bd0d36c1096 Mon Sep 17 00:00:00 2001 From: Alexander Dobrodey Date: Thu, 4 May 2023 17:36:26 +0200 Subject: [PATCH 013/121] [DSD-331] CI/CD to Cloudfront --- .github/workflows/dev.yaml | 3 ++- .github/workflows/stage.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml index 9a635a5ddc..1b816e6b7f 100644 --- a/.github/workflows/dev.yaml +++ b/.github/workflows/dev.yaml @@ -14,7 +14,8 @@ jobs: uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' - build_command: 'npm run build' + install_packages_command: 'yarn' + build_command: 'yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.DEV_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking-dev.network-dev.aws.cere.io" \ No newline at end of file diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index 1f29775003..1b5a399352 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -14,7 +14,8 @@ jobs: uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' - build_command: 'npm run build' + install_packages_command: 'yarn' + build_command: 'yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.STG_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking-stg.network-stage.aws.cere.io" \ No newline at end of file From 81b80a912b031a4e38cffde8ca591e7278e58189 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 4 May 2023 21:18:00 +0400 Subject: [PATCH 014/121] Update URI Prefix. --- package.json | 5 ++--- src/consts.ts | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0f4d3a14ed..396e939ac7 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "homepage": "/dashboard/" -} \ No newline at end of file + } +} diff --git a/src/consts.ts b/src/consts.ts index 1394a097f0..11b2ed61a2 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -6,7 +6,7 @@ import { stringToU8a } from '@polkadot/util'; /* * Global Constants */ -export const URI_PREFIX = '/dashboard'; +export const URI_PREFIX = ''; export const TITLE_DEFAULT = 'Cere Staking Dashboard'; export const DAPP_NAME = 'cere_staking_dashboard'; export const CERE_URL = 'https://cere.network/'; From 8ea799db840973963ad0c80c54244c3517f8732a Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Fri, 5 May 2023 13:37:32 +0400 Subject: [PATCH 015/121] Update units --- src/config/networks.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/networks.ts b/src/config/networks.ts index 4327279ec8..0b85db349c 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -23,7 +23,7 @@ const cereMainnet = { endpoint: 'wss://archive.mainnet.cere.network/ws', subscanEndpoint: '', unit: 'CERE', - units: 12, + units: 10, ss58: 54, // It's a draft icons set brand: { From efecc378df9264026a6011dfa567afc41eb5bf23 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Fri, 5 May 2023 17:24:35 +0400 Subject: [PATCH 016/121] Use CERE in all places instead of DOT --- src/config/assistant.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/assistant.ts b/src/config/assistant.ts index 1316a46bbc..42ddccbc3e 100644 --- a/src/config/assistant.ts +++ b/src/config/assistant.ts @@ -45,7 +45,7 @@ export const ASSISTANT_CONFIG: AssistantConfig = [ { title: 'Inflation', description: [ - 'DOT is inflationary; there is no maximum number of DOT.', + 'CERE is inflationary; there is no maximum number of CERE.', 'Inflation is designed to be approximately 10% annually, with validator rewards being a function of the amount staked and the remainder going to treasury.', ], }, From 12d5765809101d85931f58c3faa1b792f5f2ed79 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Fri, 5 May 2023 17:33:44 +0400 Subject: [PATCH 017/121] Remove Settings Modal --- src/library/SideMenu/index.tsx | 6 ------ src/modals/index.tsx | 2 -- 2 files changed, 8 deletions(-) diff --git a/src/library/SideMenu/index.tsx b/src/library/SideMenu/index.tsx index f048cae3ab..62492de94d 100644 --- a/src/library/SideMenu/index.tsx +++ b/src/library/SideMenu/index.tsx @@ -238,12 +238,6 @@ export const SideMenu = () => { > - -
); From f41f08ea7a120a9a51f19bbbad57aebaedf7df9e Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 10 May 2023 18:01:20 +0400 Subject: [PATCH 025/121] Add Google Tag Manager script --- public/index.html | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/public/index.html b/public/index.html index c57b34661c..a1e54e45f1 100644 --- a/public/index.html +++ b/public/index.html @@ -23,19 +23,41 @@ It will be replaced with the URL of the `public` folder during the build. Only files inside the `public` folder can be referenced from the HTML. - Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will - work correctly both with client-side routing and a non-root public URL. - Learn how to configure a non-root public URL by running `npm run build`. - --> - Cere Staking Dashboard + Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will + work correctly both with client-side routing and a non-root public URL. + Learn how to configure a non-root public URL by running `npm run build`. + --> + Cere Staking Dashboard + + + + - -
- + + + +
+ - Cere Staking Dashboard + Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will + work correctly both with client-side routing and a non-root public URL. + Learn how to configure a non-root public URL by running `npm run build`. + --> + Cere Staking Dashboard - - - + f.parentNode.insertBefore(j, f); + })(window, document, 'script', 'dataLayer', 'GTM-MJG54ZJ'); + +
+ To begin the development, run `npm start` or `yarn start`. + To create a production bundle, use `npm run build` or `yarn build`. + --> - + - \ No newline at end of file + From 5b401216e24a3a8587accce78693e34bf8ad3265 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 11 May 2023 17:10:51 +0400 Subject: [PATCH 030/121] Fix HTML page formatting --- public/index.html | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/public/index.html b/public/index.html index 415e3b04c0..a4b8de7a60 100644 --- a/public/index.html +++ b/public/index.html @@ -49,10 +49,9 @@ -
- - + + From 2337906f917aae3821cf8e417ac19aef18f22d9e Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 11 May 2023 17:27:14 +0400 Subject: [PATCH 031/121] Remove Binance fetch --- src/library/NetworkBar/index.tsx | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/src/library/NetworkBar/index.tsx b/src/library/NetworkBar/index.tsx index ec9a49b375..8cf0736689 100644 --- a/src/library/NetworkBar/index.tsx +++ b/src/library/NetworkBar/index.tsx @@ -3,16 +3,12 @@ import { useState, useRef } from 'react'; import { useApi } from 'contexts/Api'; -import { useUi } from 'contexts/UI'; -import { usePrices } from 'library/Hooks/usePrices'; import { useOutsideAlerter } from 'library/Hooks'; import { Wrapper, Summary, NetworkInfo, Separator } from './Wrappers'; import { Status } from './Status'; export const NetworkBar = () => { - const { services } = useUi(); const { network } = useApi(); - const prices = usePrices(); // currently not in use const [open, setOpen] = useState(false); @@ -80,29 +76,7 @@ export const NetworkBar = () => { )}
-
- {services.includes('binance_spot') && ( - <> -
- 0 - ? ' pos' - : '' - }`} - > - {prices.change < 0 ? '' : prices.change > 0 ? '+' : ''} - {prices.change}% - -
-
- 1 {network.api.unit} / {prices.lastPrice} USD -
- - )} -
+
From 8d917ffbdbc3bfc572d13fb22509a820899fd02f Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 15 May 2023 17:08:25 +0400 Subject: [PATCH 032/121] Update information about Inflation. --- src/config/assistant.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/assistant.ts b/src/config/assistant.ts index 42ddccbc3e..dd6bfa3f34 100644 --- a/src/config/assistant.ts +++ b/src/config/assistant.ts @@ -46,7 +46,7 @@ export const ASSISTANT_CONFIG: AssistantConfig = [ title: 'Inflation', description: [ 'CERE is inflationary; there is no maximum number of CERE.', - 'Inflation is designed to be approximately 10% annually, with validator rewards being a function of the amount staked and the remainder going to treasury.', + 'Inflation is designed to be in the range of 0.01% to 5% annually, with validator rewards being a function of the amount staked and the remainder going to treasury.', ], }, { From bbedd899d5a6e0f0efcc3eaa3187146db9eda56a Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 16 May 2023 13:42:32 +0400 Subject: [PATCH 033/121] Update branches for Stage and Prod --- .github/workflows/prod.yaml | 2 +- .github/workflows/stage.yaml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/prod.yaml b/.github/workflows/prod.yaml index 61302a4304..ba18255f0e 100644 --- a/.github/workflows/prod.yaml +++ b/.github/workflows/prod.yaml @@ -2,7 +2,7 @@ name: Release to prod on: push: branches: - - dev-cere + - master-cere workflow_dispatch: permissions: diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index 1b5a399352..d5a564c578 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -2,7 +2,8 @@ name: Release to stage on: push: branches: - - stage-cere + - 'release/**' + - 'hotfix/**' workflow_dispatch: permissions: From 47bd16eaf072de4a769fecb45299eb622963d315 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 16 May 2023 18:43:43 +0400 Subject: [PATCH 034/121] Refactor testnet inclusion condition in build-and-deploy job --- .github/workflows/dev.yaml | 2 ++ .github/workflows/prod.yaml | 2 ++ .github/workflows/stage.yaml | 2 ++ README.md | 3 +++ src/config/networks.ts | 6 +++++- 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml index 1b816e6b7f..c007bae8c6 100644 --- a/.github/workflows/dev.yaml +++ b/.github/workflows/dev.yaml @@ -11,6 +11,8 @@ permissions: jobs: build-and-deploy: + env: + REACT_APP_INCLUDE_TESTNET: true uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' diff --git a/.github/workflows/prod.yaml b/.github/workflows/prod.yaml index ba18255f0e..8a1ba8430d 100644 --- a/.github/workflows/prod.yaml +++ b/.github/workflows/prod.yaml @@ -11,6 +11,8 @@ permissions: jobs: build-and-deploy: + env: + REACT_APP_INCLUDE_TESTNET: false uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index d5a564c578..83f31dfa6b 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -12,6 +12,8 @@ permissions: jobs: build-and-deploy: + env: + REACT_APP_INCLUDE_TESTNET: true uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' diff --git a/README.md b/README.md index 7aba0a7f95..5ca3d82345 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,9 @@ REACT_APP_ORGANISATION="© Parity Technologies" # provide a privacy policy url in the network bar REACT_APP_PRIVACY_URL=https://www.parity.io/privacy/ + +# include the testnet configuration +REACT_APP_INCLUDE_TESTNET=true ``` ## Config Files There are some ad-hoc files defining app configuration where needed. These just provide a means of bootstrapping app data, and further abstraction could be explored in the future. diff --git a/src/config/networks.ts b/src/config/networks.ts index 0b85db349c..8ebb8134e0 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -53,10 +53,14 @@ const cereTestnet = { endpoint: 'wss://archive.testnet.cere.network/ws', }; +// Determine if the testnet should be included based on the REACT_APP_INCLUDE_TESTNET environment variable +// By default, includeTestnet is true or undefined unless REACT_APP_INCLUDE_TESTNET is explicitly set to 'false' +const includeTestnet = process.env.REACT_APP_INCLUDE_TESTNET !== 'false'; + /* * Network Configuration */ export const NETWORKS: Networks = { cereMainnet, - cereTestnet, + ...(includeTestnet ? { cereTestnet } : {}), }; From 3c023e30bb1da4aef6bd483662cebddee65f4c70 Mon Sep 17 00:00:00 2001 From: Oleg Yankovich <@> Date: Tue, 16 May 2023 17:07:19 +0200 Subject: [PATCH 035/121] Fix workflow --- .github/workflows/dev.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml index c007bae8c6..0d46163984 100644 --- a/.github/workflows/dev.yaml +++ b/.github/workflows/dev.yaml @@ -9,10 +9,11 @@ permissions: id-token: write contents: read +env: + REACT_APP_INCLUDE_TESTNET: true + jobs: build-and-deploy: - env: - REACT_APP_INCLUDE_TESTNET: true uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' From 8663b111adfa5d57493f9cf25252343f4d202258 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 17 May 2023 13:27:29 +0400 Subject: [PATCH 036/121] Fix Env Variables for Stage and Prod. --- .github/workflows/prod.yaml | 5 +++-- .github/workflows/stage.yaml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/prod.yaml b/.github/workflows/prod.yaml index 8a1ba8430d..6a1946f1fb 100644 --- a/.github/workflows/prod.yaml +++ b/.github/workflows/prod.yaml @@ -9,10 +9,11 @@ permissions: id-token: write contents: read +env: + REACT_APP_INCLUDE_TESTNET: false + jobs: build-and-deploy: - env: - REACT_APP_INCLUDE_TESTNET: false uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index 83f31dfa6b..534b82997c 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -10,10 +10,11 @@ permissions: id-token: write contents: read +env: + REACT_APP_INCLUDE_TESTNET: true + jobs: build-and-deploy: - env: - REACT_APP_INCLUDE_TESTNET: true uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' From 805c6feb2a231f4bfdb1cac5ae6a81909038da4b Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 17 May 2023 14:39:07 +0400 Subject: [PATCH 037/121] Release v1.0.0 --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..0bcb6e2d27 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.0.0] - 2023-05-17 + +### Added + +- Google Tag Manager script +- Cere Logo and Icon +- Cere Mainnet and Testnet configurations +- Cere Network favicons + +### Changed + +- Refactored testnet inclusion condition in build-and-deploy job +- Updated branches for Stage and Prod +- Updated information about Inflation +- Fixed HTML page formatting, ChangeNominations, and CERE_URL +- Updated README.md, prod.yaml, Favicons, units, and URI Prefix +- Adjusted constants and networks for Cere +- Updated default Network and active networks fields + +### Removed + +- Binance fetch +- maxNominatorsCount from TotalNominations +- Feedback and Community pages +- Settings Modal +- UseInflation hook +- Removed auctionCounter field diff --git a/package.json b/package.json index 396e939ac7..d02f771c13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polkadot-staking-dashboard", - "version": "0.1.0", + "version": "1.0.0", "license": "apache-2.0", "private": false, "dependencies": { From 80f4edebd15dab09803a9e9a36a377cec84a84f1 Mon Sep 17 00:00:00 2001 From: Oleg Yankovich <@> Date: Wed, 17 May 2023 16:43:02 +0200 Subject: [PATCH 038/121] Fix passing env variable --- .github/workflows/dev.yaml | 5 +---- .github/workflows/prod.yaml | 5 +---- .github/workflows/stage.yaml | 5 +---- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml index 0d46163984..dba0937a39 100644 --- a/.github/workflows/dev.yaml +++ b/.github/workflows/dev.yaml @@ -9,16 +9,13 @@ permissions: id-token: write contents: read -env: - REACT_APP_INCLUDE_TESTNET: true - jobs: build-and-deploy: uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' install_packages_command: 'yarn' - build_command: 'yarn run build' + build_command: 'export REACT_APP_INCLUDE_TESTNET=true; yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.DEV_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking-dev.network-dev.aws.cere.io" \ No newline at end of file diff --git a/.github/workflows/prod.yaml b/.github/workflows/prod.yaml index 6a1946f1fb..f7da26ecbc 100644 --- a/.github/workflows/prod.yaml +++ b/.github/workflows/prod.yaml @@ -9,16 +9,13 @@ permissions: id-token: write contents: read -env: - REACT_APP_INCLUDE_TESTNET: false - jobs: build-and-deploy: uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' install_packages_command: 'yarn' - build_command: 'yarn run build' + build_command: 'export REACT_APP_INCLUDE_TESTNET=false; yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.PRD_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking.network.aws.cere.io" diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index 534b82997c..cbd7b8438b 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -10,16 +10,13 @@ permissions: id-token: write contents: read -env: - REACT_APP_INCLUDE_TESTNET: true - jobs: build-and-deploy: uses: Cerebellum-Network/reusable-workflows/.github/workflows/deploy-to-cloudfront.yaml@master with: build_container: 'node:16-buster' install_packages_command: 'yarn' - build_command: 'yarn run build' + build_command: 'export REACT_APP_INCLUDE_TESTNET=true; yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.STG_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking-stg.network-stage.aws.cere.io" \ No newline at end of file From fcbccc03ddfca05d233aaa7c17a910ea863094a7 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 18 May 2023 11:08:46 +0400 Subject: [PATCH 039/121] Set REACT_APP_INCLUDE_TESTNET to false for Stage env --- .github/workflows/stage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stage.yaml b/.github/workflows/stage.yaml index cbd7b8438b..eeeffc2297 100644 --- a/.github/workflows/stage.yaml +++ b/.github/workflows/stage.yaml @@ -16,7 +16,7 @@ jobs: with: build_container: 'node:16-buster' install_packages_command: 'yarn' - build_command: 'export REACT_APP_INCLUDE_TESTNET=true; yarn run build' + build_command: 'export REACT_APP_INCLUDE_TESTNET=false; yarn run build' path_to_static_files_to_upload: 'build' aws_account_id: ${{ vars.STG_NETWORK_AWS_ACCOUNT_ID }} s3_bucket_name: "staking-stg.network-stage.aws.cere.io" \ No newline at end of file From 7af3bbfb796b83ff92e96317b811e74f74a11bff Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 18 May 2023 11:20:20 +0400 Subject: [PATCH 040/121] Set 1.0.1 Version --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bcb6e2d27..baa9085641 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.1] - 2023-05-18 + +### Changed + +- Fixed Workflow for Dev, Stage and Prod +- Set `REACT_APP_INCLUDE_TESTNET` env variable to `false` for Stage + ## [1.0.0] - 2023-05-17 ### Added diff --git a/package.json b/package.json index d02f771c13..39ce3729b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polkadot-staking-dashboard", - "version": "1.0.0", + "version": "1.0.1", "license": "apache-2.0", "private": false, "dependencies": { From a4abeca2023870343e6fd3ba6c04fc4bc8007db8 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 18 May 2023 11:36:02 +0400 Subject: [PATCH 041/121] fix: Improve network state initialization and error handling --- CHANGELOG.md | 3 +++ src/contexts/Api/index.tsx | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index baa9085641..9b23abab53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.0.1] - 2023-05-18 +## Added +- Improved network state initialization and error handling + ### Changed - Fixed Workflow for Dev, Stage and Prod diff --git a/src/contexts/Api/index.tsx b/src/contexts/Api/index.tsx index d9fe0f5d86..1a9d7915b3 100644 --- a/src/contexts/Api/index.tsx +++ b/src/contexts/Api/index.tsx @@ -12,6 +12,7 @@ import { API_ENDPOINTS, MAX_ELECTING_VOTERS, EXPECTED_BLOCK_TIME, + DEFAULT_NETWORK, } from 'consts'; import { NETWORKS } from 'config/networks'; import { @@ -37,12 +38,16 @@ export const APIProvider = ({ children }: { children: React.ReactNode }) => { const [api, setApi] = useState(null); // network state - const _name: NetworkName = - (localStorage.getItem('network') as NetworkName) ?? NetworkName.Polkadot; + const _name = localStorage.getItem('network') as NetworkName; + const initialMeta = NETWORKS[_name] || NETWORKS[DEFAULT_NETWORK]; + + if (!_name || !NETWORKS[_name]) { + localStorage.setItem('network', DEFAULT_NETWORK); + } const [network, setNetwork] = useState({ - name: _name, - meta: NETWORKS[localStorage.getItem('network') as NetworkName], + name: _name || DEFAULT_NETWORK, + meta: initialMeta, }); // constants state From f2497d65e0e5a1bca4483d7e47aa58eac96b57d1 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 18 May 2023 14:06:17 +0400 Subject: [PATCH 042/121] Make CHANGELOG changes more meaningful --- CHANGELOG.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b23abab53..6b21dda577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.0.1] - 2023-05-18 ## Added -- Improved network state initialization and error handling + +- Improved network initialization and error handling. Prevents application crashes caused by incorrect localStorage network. Added default network for this scenario. ### Changed -- Fixed Workflow for Dev, Stage and Prod -- Set `REACT_APP_INCLUDE_TESTNET` env variable to `false` for Stage +- Improved workflow for deploying to development, staging, and production environments. Fixed issue with `REACT_APP_INCLUDE_TESTNET` variable. +- Set the `REACT_APP_INCLUDE_TESTNET` environment variable to `false` for the Stage environment. ## [1.0.0] - 2023-05-17 From 61d2d0a5e0e2097c18b795c66964a5235710fe29 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 22 May 2023 15:36:30 +0400 Subject: [PATCH 043/121] Add Cere Stats Context --- package.json | 3 + src/Providers.tsx | 2 + src/contexts/CereStats/defaults.ts | 6 ++ src/contexts/CereStats/index.tsx | 108 ++++++++++++++++++++++++ src/contexts/CereStats/types.ts | 4 + src/pages/Payouts/index.tsx | 3 + yarn.lock | 129 ++++++++++++++++++++++++++++- 7 files changed, 253 insertions(+), 2 deletions(-) create mode 100644 src/contexts/CereStats/defaults.ts create mode 100644 src/contexts/CereStats/index.tsx create mode 100644 src/contexts/CereStats/types.ts diff --git a/package.json b/package.json index 39ce3729b0..a8666cb0c1 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "license": "apache-2.0", "private": false, "dependencies": { + "@apollo/client": "^3.7.14", "@fortawesome/fontawesome-svg-core": "6.1.0", "@fortawesome/free-brands-svg-icons": "^6.1.1", "@fortawesome/free-regular-svg-icons": "^5.15.4", @@ -31,6 +32,7 @@ "downshift": "^6.1.7", "follow-redirects": ">=1.14.8", "framer-motion": "^6.2.4", + "graphql": "^16.6.0", "lodash.throttle": "^4.1.1", "moment": "^2.29.4", "nth-check": ">=2.0.1", @@ -46,6 +48,7 @@ "react-scroll": "^1.8.6", "styled-components": "^5.3.3", "styled-theming": "^2.2.0", + "subscriptions-transport-ws": "^0.11.0", "typescript": "^4.5.5", "web-vitals": "^2.1.4", "window-or-global": "^1.0.1", diff --git a/src/Providers.tsx b/src/Providers.tsx index 058791c2d4..cc3642aa58 100644 --- a/src/Providers.tsx +++ b/src/Providers.tsx @@ -28,6 +28,7 @@ import { ValidatorsProvider } from './contexts/Validators'; import { UIProvider } from './contexts/UI'; import { useTheme } from './contexts/Themes'; import { SessionEraProvider } from './contexts/SessionEra'; +import { CereStatsProvider } from './contexts/CereStats'; export const WrappedRouter = () => ( @@ -62,6 +63,7 @@ export const Providers = withProviders( ActivePoolProvider, ValidatorsProvider, UIProvider, + CereStatsProvider, SubscanProvider, MenuProvider, TooltipProvider, diff --git a/src/contexts/CereStats/defaults.ts b/src/contexts/CereStats/defaults.ts new file mode 100644 index 0000000000..118c955a90 --- /dev/null +++ b/src/contexts/CereStats/defaults.ts @@ -0,0 +1,6 @@ +import { CereStatsContextInterface } from './types'; + +export const defaultCereStatsContext: CereStatsContextInterface = { + fetchEraPoints: (v, e) => {}, + payouts: [], +}; diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx new file mode 100644 index 0000000000..3c6c771f3c --- /dev/null +++ b/src/contexts/CereStats/index.tsx @@ -0,0 +1,108 @@ +import React, { useState, useEffect, createContext } from 'react'; +import { + ApolloClient, + NormalizedCacheObject, + InMemoryCache, +} from '@apollo/client'; +import { WebSocketLink } from '@apollo/client/link/ws'; +import { defaultCereStatsContext } from './defaults'; +import { CereStatsContextInterface } from './types'; +import { useConnect } from '../Connect'; + +const CereStatsContext = createContext( + defaultCereStatsContext +); + +export const useCereStats = () => React.useContext(CereStatsContext); + +export const CereStatsProvider = ({ + children, +}: { + children: React.ReactNode; +}) => { + const { activeAccount } = useConnect(); + console.log('activeAccount', activeAccount); + + const [client, setClient] = + useState | null>(null); + const [payouts, setPayouts] = useState([]); + + // replace with your era points GraphQL query + const ERA_POINTS_QUERY = ` + subscription EraPoints($stashAddress: String) { + era_points( + where: { stash_address: { _eq: $stashAddress } } + ) { + stash_address + era + points + } + } + `; + + // replace with your payouts GraphQL query + const PAYOUTS_QUERY = ` + query FetchPayouts { + //... + } + `; + + useEffect(() => { + const wsLink = new WebSocketLink({ + uri: 'wss://hasura.stats.cere.network/v1/graphql', + options: { + reconnect: true, + }, + }); + + const _client = new ApolloClient({ + link: wsLink, + cache: new InMemoryCache(), + }); + + setClient(_client); + }, []); + + const fetchEraPoints = async (address: string, era: number) => { + if (!address || !client) { + return []; + } + + const { data } = await client.query({ + // @ts-ignore + query: ERA_POINTS_QUERY, + variables: { address, era }, + }); + + return data.eraPoints; // replace with the actual key in the response + }; + + const fetchPayouts = async (address: string) => { + if (!address || !client) { + return; + } + + const { data } = await client.query({ + // @ts-ignore + query: PAYOUTS_QUERY, + variables: { address }, + }); + + setPayouts(data.payouts); // replace with the actual key in the response + }; + + if (!client) { + return null; + } + + return ( + + {children} + + ); +}; diff --git a/src/contexts/CereStats/types.ts b/src/contexts/CereStats/types.ts new file mode 100644 index 0000000000..942dbcdb04 --- /dev/null +++ b/src/contexts/CereStats/types.ts @@ -0,0 +1,4 @@ +export interface CereStatsContextInterface { + fetchEraPoints: (v: string, e: number) => void; + payouts: any; +} diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index f5463caa42..11128d58ca 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -26,8 +26,11 @@ import { BN } from 'bn.js'; import { PageProps } from '../types'; import { PayoutList } from './PayoutList'; import LastEraPayoutStatBox from './Stats/LastEraPayout'; +import { useCereStats } from '../../contexts/CereStats'; export const Payouts = (props: PageProps) => { + const cereStats = useCereStats(); + console.log('cereStats data is', cereStats); const { payouts, poolClaims } = useSubscan(); const { isSyncing, services } = useUi(); const { inSetup } = useStaking(); diff --git a/yarn.lock b/yarn.lock index 557a5a63df..90c5df362f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,6 +19,25 @@ jsonpointer "^5.0.0" leven "^3.1.0" +"@apollo/client@^3.7.14": + version "3.7.14" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.14.tgz#40ef90390e6690e94917457cd82bdeb29e8b6af9" + integrity sha512-BRvdkwq5PAXBkjXjboO12uksDm3nrZEqDi4xF97Fk3Mnaa0zDOEfJa7hoKTY9b9KA1EkeWv9BL3i7hSd4SfGBg== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/context" "^0.7.0" + "@wry/equality" "^0.5.0" + "@wry/trie" "^0.3.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.16.2" + prop-types "^15.7.2" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -1271,6 +1290,11 @@ dependencies: prop-types "^15.8.1" +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + "@humanwhocodes/config-array@^0.9.2": version "0.9.5" resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" @@ -3010,6 +3034,27 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" +"@wry/context@^0.7.0": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" + integrity sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.0": + version "0.5.6" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.6.tgz#cd4a533c72c3752993ab8cbf682d3d20e3cb601e" + integrity sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.2.tgz#a06f235dc184bd26396ba456711f69f8c35097e6" + integrity sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ== + dependencies: + tslib "^2.3.0" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -3505,6 +3550,11 @@ babel-preset-react-app@^10.0.1: babel-plugin-macros "^3.1.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" +backo2@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -5110,6 +5160,11 @@ ethereum-blockies-base64@^1.0.2: dependencies: pnglib "0.0.1" +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -5653,6 +5708,18 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql@^16.6.0: + version "16.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" + integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== + gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -5728,7 +5795,7 @@ history@^5.2.0: dependencies: "@babel/runtime" "^7.7.6" -hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0: +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -6218,6 +6285,11 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +iterall@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + jake@^10.8.5: version "10.8.5" resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" @@ -7453,6 +7525,14 @@ open@^8.0.9, open@^8.4.0: is-docker "^2.1.1" is-wsl "^2.2.0" +optimism@^0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.2.tgz#519b0c78b3b30954baed0defe5143de7776bf081" + integrity sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ== + dependencies: + "@wry/context" "^0.7.0" + "@wry/trie" "^0.3.0" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -8817,6 +8897,11 @@ resolve@^2.0.0-next.3: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" + integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + retry@^0.13.1: version "0.13.1" resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" @@ -9408,6 +9493,17 @@ stylehacks@^5.1.0: browserslist "^4.16.6" postcss-selector-parser "^6.0.4" +subscriptions-transport-ws@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883" + integrity sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ== + dependencies: + backo2 "^1.0.2" + eventemitter3 "^3.1.0" + iterall "^1.2.1" + symbol-observable "^1.0.4" + ws "^5.2.0 || ^6.0.0 || ^7.0.0" + supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -9479,6 +9575,16 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +symbol-observable@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -9652,6 +9758,13 @@ tryer@^1.0.1: resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -10347,7 +10460,7 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.4.6: +"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.4.6: version "7.5.9" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== @@ -10419,3 +10532,15 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== From b622077c5d6d170773770d81550d1014ce334ae6 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 22 May 2023 17:58:57 +0400 Subject: [PATCH 044/121] Adjust Payouts request --- src/contexts/CereStats/index.tsx | 75 ++++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 3c6c771f3c..a88d902ccc 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -3,11 +3,15 @@ import { ApolloClient, NormalizedCacheObject, InMemoryCache, + gql, } from '@apollo/client'; import { WebSocketLink } from '@apollo/client/link/ws'; import { defaultCereStatsContext } from './defaults'; import { CereStatsContextInterface } from './types'; import { useConnect } from '../Connect'; +import { useApi } from '../Api'; +import { UIContextInterface } from '../UI/types'; +import { useUi } from '../UI'; const CereStatsContext = createContext( defaultCereStatsContext @@ -20,32 +24,30 @@ export const CereStatsProvider = ({ }: { children: React.ReactNode; }) => { + const { network, isReady } = useApi(); + const { services }: UIContextInterface = useUi(); const { activeAccount } = useConnect(); - console.log('activeAccount', activeAccount); const [client, setClient] = useState | null>(null); const [payouts, setPayouts] = useState([]); - // replace with your era points GraphQL query - const ERA_POINTS_QUERY = ` - subscription EraPoints($stashAddress: String) { - era_points( - where: { stash_address: { _eq: $stashAddress } } - ) { - stash_address - era - points - } - } - `; + // reset payouts on network switch + useEffect(() => { + setPayouts([]); + }, [network]); - // replace with your payouts GraphQL query - const PAYOUTS_QUERY = ` - query FetchPayouts { - //... + // fetch payouts as soon as network is ready + useEffect(() => { + if (isReady) { + fetchPayouts(); } - `; + }, [isReady, network, activeAccount]); + + // fetch payouts on services toggle + useEffect(() => { + fetchPayouts(); + }, [services]); useEffect(() => { const wsLink = new WebSocketLink({ @@ -68,6 +70,19 @@ export const CereStatsProvider = ({ return []; } + // replace with your era points GraphQL query + const ERA_POINTS_QUERY = ` + subscription EraPoints($stashAddress: String) { + era_points( + where: { stash_address: { _eq: $stashAddress } } + ) { + stash_address + era + points + } + } + `; + const { data } = await client.query({ // @ts-ignore query: ERA_POINTS_QUERY, @@ -77,15 +92,29 @@ export const CereStatsProvider = ({ return data.eraPoints; // replace with the actual key in the response }; - const fetchPayouts = async (address: string) => { - if (!address || !client) { + const fetchPayouts = async () => { + if (!activeAccount || !client) { return; } const { data } = await client.query({ - // @ts-ignore - query: PAYOUTS_QUERY, - variables: { address }, + query: gql` + query Event($accountId: String!) { + event( + order_by: { block_number: desc } + where: { + section: { _eq: "staking" } + method: { _like: "Reward%" } + data: { _like: $accountId } + } + ) { + block_number + data + timestamp + } + } + `, + variables: { accountId: activeAccount }, }); setPayouts(data.payouts); // replace with the actual key in the response From a6faf7d52abef31c46d0509469bf67b25a5b254a Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 22 May 2023 18:08:29 +0400 Subject: [PATCH 045/121] Adjust fetching Era Point --- src/contexts/CereStats/index.tsx | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index a88d902ccc..ac84cf185d 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -70,26 +70,20 @@ export const CereStatsProvider = ({ return []; } - // replace with your era points GraphQL query - const ERA_POINTS_QUERY = ` - subscription EraPoints($stashAddress: String) { - era_points( - where: { stash_address: { _eq: $stashAddress } } - ) { - stash_address - era - points - } - } - `; - const { data } = await client.query({ - // @ts-ignore - query: ERA_POINTS_QUERY, - variables: { address, era }, + query: gql` + query EraPoints($stashAddress: String) { + era_points(where: { stash_address: { _eq: $stashAddress } }) { + stash_address + era + points + } + } + `, + variables: { stashAddress: address }, }); - return data.eraPoints; // replace with the actual key in the response + return data.era_points; }; const fetchPayouts = async () => { From 2fa99d6bc38eae26ce0963c34d523243fdd75b3a Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 23 May 2023 16:14:08 +0400 Subject: [PATCH 046/121] Fix Reward Events query --- src/contexts/CereStats/index.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index ac84cf185d..9ca8b82d06 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -93,13 +93,12 @@ export const CereStatsProvider = ({ const { data } = await client.query({ query: gql` - query Event($accountId: String!) { + query RewardEvents($activeAccount: String) { event( - order_by: { block_number: desc } where: { section: { _eq: "staking" } method: { _like: "Reward%" } - data: { _like: $accountId } + data: { _regex: $activeAccount } } ) { block_number @@ -108,7 +107,9 @@ export const CereStatsProvider = ({ } } `, - variables: { accountId: activeAccount }, + variables: { + activeAccount, + }, }); setPayouts(data.payouts); // replace with the actual key in the response From f9e4a62306c9b3bc5933bae3dcb2f0c2e9fc3203 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 29 May 2023 17:23:50 +0400 Subject: [PATCH 047/121] Replace _regex with _like for reward request. --- src/contexts/CereStats/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 9ca8b82d06..ccf6893c7f 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -98,7 +98,7 @@ export const CereStatsProvider = ({ where: { section: { _eq: "staking" } method: { _like: "Reward%" } - data: { _regex: $activeAccount } + data: { _like: $activeAccount } } ) { block_number @@ -108,7 +108,7 @@ export const CereStatsProvider = ({ } `, variables: { - activeAccount, + activeAccount: `%${activeAccount}%`, }, }); From c1376ab6a2b47d31e6f2c923072d8afd99c0e582 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 29 May 2023 17:25:39 +0400 Subject: [PATCH 048/121] Add normalizePayouts method --- src/contexts/CereStats/index.tsx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index ccf6893c7f..ff6d47573b 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -86,6 +86,27 @@ export const CereStatsProvider = ({ return data.era_points; }; + const normalizePayouts = ( + payoutData: { block_number: number; data: string; timestamp: number }[] + ) => { + return payoutData.map(({ block_number, data, timestamp }) => { + let amount = 0; + + // Using regex to extract the second parameter from the data string + const match = data.match(/,\s*(\d+)\s*\]/); + + if (match && match[1]) { + amount = parseInt(match[1], 10); + } + + return { + amount, + block_num: block_number, + block_timestamp: timestamp * 1000, + }; + }); + }; + const fetchPayouts = async () => { if (!activeAccount || !client) { return; @@ -112,7 +133,8 @@ export const CereStatsProvider = ({ }, }); - setPayouts(data.payouts); // replace with the actual key in the response + // @ts-ignore + setPayouts(normalizePayouts(data.event)); }; if (!client) { From 7d87d48bce7618fa7864c45bdc60bbfb6668c300 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 29 May 2023 17:56:29 +0400 Subject: [PATCH 049/121] Add Sorting for payoutsData --- src/contexts/CereStats/index.tsx | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index ff6d47573b..4727afd8eb 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -89,22 +89,24 @@ export const CereStatsProvider = ({ const normalizePayouts = ( payoutData: { block_number: number; data: string; timestamp: number }[] ) => { - return payoutData.map(({ block_number, data, timestamp }) => { - let amount = 0; + return payoutData + .map(({ block_number, data, timestamp }) => { + let amount = 0; - // Using regex to extract the second parameter from the data string - const match = data.match(/,\s*(\d+)\s*\]/); + // Using regex to extract the second parameter from the data string + const match = data.match(/,\s*(\d+)\s*\]/); - if (match && match[1]) { - amount = parseInt(match[1], 10); - } + if (match && match[1]) { + amount = parseInt(match[1], 10); + } - return { - amount, - block_num: block_number, - block_timestamp: timestamp * 1000, - }; - }); + return { + amount, + block_num: block_number, + block_timestamp: timestamp, + }; + }) + .sort((a, b) => b.block_timestamp - a.block_timestamp); }; const fetchPayouts = async () => { From 218e339e9dd5996165e08d07614cabcc03808775 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Mon, 29 May 2023 18:02:08 +0400 Subject: [PATCH 050/121] Replace useSubscan with useCereStats hook. --- src/consts.ts | 3 ++- src/library/Graphs/PayoutBar.tsx | 6 +++--- src/library/Graphs/PayoutLine.tsx | 6 +++--- src/library/SubscanButton/index.tsx | 2 +- src/modals/ValidatorMetrics/index.tsx | 4 ++-- src/pages/Overview/index.tsx | 6 +++--- src/pages/Payouts/index.tsx | 6 ++---- 7 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index 3bb23a966a..980939b6e9 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -71,7 +71,8 @@ export const MEDIUM_FONT_SiZE_MAX_WIDTH = 1600; /* * Toggle-able services */ -export const SERVICES = []; +// TODO: Add 'cereStats' in the future. +export const SERVICES = ['subscan']; /* * Fallback config values diff --git a/src/library/Graphs/PayoutBar.tsx b/src/library/Graphs/PayoutBar.tsx index 358facc0a0..f67a479543 100644 --- a/src/library/Graphs/PayoutBar.tsx +++ b/src/library/Graphs/PayoutBar.tsx @@ -27,7 +27,7 @@ import { useUi } from 'contexts/UI'; import { useStaking } from 'contexts/Staking'; import { AnySubscan } from 'types'; import { usePoolMemberships } from 'contexts/Pools/PoolMemberships'; -import { useSubscan } from 'contexts/Subscan'; +import { useCereStats } from 'contexts/CereStats'; import { PayoutBarProps } from './types'; import { formatRewardsForGraphs } from './Utils'; @@ -50,7 +50,7 @@ export const PayoutBar = (props: PayoutBarProps) => { const { isSyncing } = useUi(); const { inSetup } = useStaking(); const { membership } = usePoolMemberships(); - const { payouts, poolClaims } = useSubscan(); + const { payouts } = useCereStats(); const { units } = network; const notStaking = !isSyncing && inSetup() && !membership; @@ -59,7 +59,7 @@ export const PayoutBar = (props: PayoutBarProps) => { days, units, payouts, - poolClaims + [] ); // determine color for payouts diff --git a/src/library/Graphs/PayoutLine.tsx b/src/library/Graphs/PayoutLine.tsx index c450ade829..0fabde7e97 100644 --- a/src/library/Graphs/PayoutLine.tsx +++ b/src/library/Graphs/PayoutLine.tsx @@ -25,7 +25,7 @@ import { useUi } from 'contexts/UI'; import { useStaking } from 'contexts/Staking'; import { usePoolMemberships } from 'contexts/Pools/PoolMemberships'; import { AnySubscan } from 'types'; -import { useSubscan } from 'contexts/Subscan'; +import { useCereStats } from 'contexts/CereStats'; import { PayoutLineProps } from './types'; import { combineRewardsByDay, formatRewardsForGraphs } from './Utils'; @@ -47,7 +47,7 @@ export const PayoutLine = (props: PayoutLineProps) => { const { isSyncing } = useUi(); const { inSetup } = useStaking(); const { membership: poolMembership } = usePoolMemberships(); - const { payouts, poolClaims } = useSubscan(); + const { payouts } = useCereStats(); const { units } = network; const notStaking = !isSyncing && inSetup() && !poolMembership; @@ -57,7 +57,7 @@ export const PayoutLine = (props: PayoutLineProps) => { days, units, payouts, - poolClaims + [] ); // combine payouts and pool claims into one dataset diff --git a/src/library/SubscanButton/index.tsx b/src/library/SubscanButton/index.tsx index 9671aba610..1880ece7da 100644 --- a/src/library/SubscanButton/index.tsx +++ b/src/library/SubscanButton/index.tsx @@ -41,7 +41,7 @@ export const SubscanButton = () => { transform="shrink-2" style={{ marginRight: '0.3rem' }} /> - Subscan + Cere Stats API ); }; diff --git a/src/modals/ValidatorMetrics/index.tsx b/src/modals/ValidatorMetrics/index.tsx index af502f21cd..0ab8a5e0fe 100644 --- a/src/modals/ValidatorMetrics/index.tsx +++ b/src/modals/ValidatorMetrics/index.tsx @@ -3,7 +3,7 @@ import React, { useState, useEffect } from 'react'; import { useModal } from 'contexts/Modal'; -import { useSubscan } from 'contexts/Subscan'; +import { useCereStats } from 'contexts/CereStats'; import { EraPoints as EraPointsGraph } from 'library/Graphs/EraPoints'; import { SubscanButton } from 'library/SubscanButton'; import { GraphWrapper } from 'library/Graphs/Wrappers'; @@ -16,7 +16,7 @@ import { StatusLabel } from 'library/StatusLabel'; export const ValidatorMetrics = () => { const { config } = useModal(); const { address, identity } = config; - const { fetchEraPoints }: any = useSubscan(); + const { fetchEraPoints }: any = useCereStats(); const { metrics } = useNetworkMetrics(); const [list, setList] = useState([]); diff --git a/src/pages/Overview/index.tsx b/src/pages/Overview/index.tsx index 9dccb32be7..6cdcfbd453 100644 --- a/src/pages/Overview/index.tsx +++ b/src/pages/Overview/index.tsx @@ -11,7 +11,7 @@ import { } from 'Wrappers'; import { GraphWrapper } from 'library/Graphs/Wrappers'; import { useApi } from 'contexts/Api'; -import { useSubscan } from 'contexts/Subscan'; +import { useCereStats } from 'contexts/CereStats'; import { SubscanButton } from 'library/SubscanButton'; import { PageTitle } from 'library/PageTitle'; import { formatRewardsForGraphs } from 'library/Graphs/Utils'; @@ -33,9 +33,9 @@ import Returns from './Returns'; export const Overview = () => { const { network } = useApi(); const { units } = network; - const { payouts, poolClaims } = useSubscan(); + const { payouts } = useCereStats(); - const { lastReward } = formatRewardsForGraphs(14, units, payouts, poolClaims); + const { lastReward } = formatRewardsForGraphs(14, units, payouts, []); const PAYOUTS_HEIGHT = 380; const STATS_HEIGHT = 80; diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index 11128d58ca..34b4d5dbf0 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -29,9 +29,7 @@ import LastEraPayoutStatBox from './Stats/LastEraPayout'; import { useCereStats } from '../../contexts/CereStats'; export const Payouts = (props: PageProps) => { - const cereStats = useCereStats(); - console.log('cereStats data is', cereStats); - const { payouts, poolClaims } = useSubscan(); + const { payouts } = useCereStats(); const { isSyncing, services } = useUi(); const { inSetup } = useStaking(); const notStaking = !isSyncing && inSetup(); @@ -45,7 +43,7 @@ export const Payouts = (props: PageProps) => { // take non-zero rewards in most-recent order let payoutsList: AnySubscan = [ - ...payouts.concat(poolClaims).filter((p: AnySubscan) => p.amount > 0), + ...payouts.concat([]).filter((p: AnySubscan) => p.amount > 0), ].slice(0, MAX_PAYOUT_DAYS); // re-order rewards based on block timestamp From afe49fe260d99fba331edc3bf45f1bed6f28b78d Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 12:40:19 +0400 Subject: [PATCH 051/121] Add normalization of era_points data --- src/contexts/CereStats/index.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 4727afd8eb..4bb66ee430 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -83,7 +83,11 @@ export const CereStatsProvider = ({ variables: { stashAddress: address }, }); - return data.era_points; + // eslint-disable-next-line @typescript-eslint/no-shadow + return data.era_points.map(({ era, points }: any) => ({ + era, + reward_point: points, + })); }; const normalizePayouts = ( From 46b72307901fd1d877da12a626a55b12e0bdaa61 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 12:40:48 +0400 Subject: [PATCH 052/121] Remove stash_address from EraPoints query --- src/contexts/CereStats/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 4bb66ee430..f2ec0c9107 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -74,7 +74,6 @@ export const CereStatsProvider = ({ query: gql` query EraPoints($stashAddress: String) { era_points(where: { stash_address: { _eq: $stashAddress } }) { - stash_address era points } From 46870c0859608714644da28a4d73f481e2bb87cc Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 12:51:14 +0400 Subject: [PATCH 053/121] Add cereStatsEndpoint to Network --- src/config/networks.ts | 2 ++ src/contexts/CereStats/index.tsx | 4 ++-- src/types/index.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/config/networks.ts b/src/config/networks.ts index 8ebb8134e0..2de9ba1139 100644 --- a/src/config/networks.ts +++ b/src/config/networks.ts @@ -22,6 +22,7 @@ const cereMainnet = { }, endpoint: 'wss://archive.mainnet.cere.network/ws', subscanEndpoint: '', + cereStatsEndpoint: 'wss://hasura.stats.cere.network/v1/graphql', unit: 'CERE', units: 10, ss58: 54, @@ -51,6 +52,7 @@ const cereTestnet = { ...cereMainnet, name: 'Cere Testnet', endpoint: 'wss://archive.testnet.cere.network/ws', + cereStatsEndpoint: 'wss://hasura.stats.dev.cere.network/v1/graphql', }; // Determine if the testnet should be included based on the REACT_APP_INCLUDE_TESTNET environment variable diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index f2ec0c9107..115187e32f 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -51,7 +51,7 @@ export const CereStatsProvider = ({ useEffect(() => { const wsLink = new WebSocketLink({ - uri: 'wss://hasura.stats.cere.network/v1/graphql', + uri: network.cereStatsEndpoint, options: { reconnect: true, }, @@ -63,7 +63,7 @@ export const CereStatsProvider = ({ }); setClient(_client); - }, []); + }, [network]); const fetchEraPoints = async (address: string, era: number) => { if (!address || !client) { diff --git a/src/types/index.ts b/src/types/index.ts index 69cd4f2b38..4ed120978b 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -39,6 +39,7 @@ export interface Network { }; endpoint: string; subscanEndpoint: string; + cereStatsEndpoint: string; unit: string; units: number; ss58: number; From eded6a4a9e505aee8b896530046bdba96c82283c Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 13:20:59 +0400 Subject: [PATCH 054/121] Add poolCalims to Cere Stats Context to support consistency with the `useSubscan` hook --- src/contexts/CereStats/defaults.ts | 1 + src/contexts/CereStats/index.tsx | 1 + src/contexts/CereStats/types.ts | 3 +++ src/library/Graphs/PayoutBar.tsx | 4 ++-- src/library/Graphs/PayoutLine.tsx | 4 ++-- src/pages/Overview/index.tsx | 4 ++-- src/pages/Payouts/index.tsx | 4 ++-- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/contexts/CereStats/defaults.ts b/src/contexts/CereStats/defaults.ts index 118c955a90..d473a49331 100644 --- a/src/contexts/CereStats/defaults.ts +++ b/src/contexts/CereStats/defaults.ts @@ -3,4 +3,5 @@ import { CereStatsContextInterface } from './types'; export const defaultCereStatsContext: CereStatsContextInterface = { fetchEraPoints: (v, e) => {}, payouts: [], + poolClaims: [], }; diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 115187e32f..d7ecbf187e 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -151,6 +151,7 @@ export const CereStatsProvider = ({ value={{ fetchEraPoints, payouts, + poolClaims: [], }} > {children} diff --git a/src/contexts/CereStats/types.ts b/src/contexts/CereStats/types.ts index 942dbcdb04..1505b8f113 100644 --- a/src/contexts/CereStats/types.ts +++ b/src/contexts/CereStats/types.ts @@ -1,4 +1,7 @@ export interface CereStatsContextInterface { fetchEraPoints: (v: string, e: number) => void; payouts: any; + // The Cere Stats API does not currently support `poolClaims`. + // We need it to maintain consistency with the `useSubscan` hook and for possible future support of `poolClaims`. + poolClaims: []; } diff --git a/src/library/Graphs/PayoutBar.tsx b/src/library/Graphs/PayoutBar.tsx index f67a479543..d26609ae4e 100644 --- a/src/library/Graphs/PayoutBar.tsx +++ b/src/library/Graphs/PayoutBar.tsx @@ -50,7 +50,7 @@ export const PayoutBar = (props: PayoutBarProps) => { const { isSyncing } = useUi(); const { inSetup } = useStaking(); const { membership } = usePoolMemberships(); - const { payouts } = useCereStats(); + const { payouts, poolClaims } = useCereStats(); const { units } = network; const notStaking = !isSyncing && inSetup() && !membership; @@ -59,7 +59,7 @@ export const PayoutBar = (props: PayoutBarProps) => { days, units, payouts, - [] + poolClaims ); // determine color for payouts diff --git a/src/library/Graphs/PayoutLine.tsx b/src/library/Graphs/PayoutLine.tsx index 0fabde7e97..2713ffffe0 100644 --- a/src/library/Graphs/PayoutLine.tsx +++ b/src/library/Graphs/PayoutLine.tsx @@ -47,7 +47,7 @@ export const PayoutLine = (props: PayoutLineProps) => { const { isSyncing } = useUi(); const { inSetup } = useStaking(); const { membership: poolMembership } = usePoolMemberships(); - const { payouts } = useCereStats(); + const { payouts, poolClaims } = useCereStats(); const { units } = network; const notStaking = !isSyncing && inSetup() && !poolMembership; @@ -57,7 +57,7 @@ export const PayoutLine = (props: PayoutLineProps) => { days, units, payouts, - [] + poolClaims ); // combine payouts and pool claims into one dataset diff --git a/src/pages/Overview/index.tsx b/src/pages/Overview/index.tsx index 6cdcfbd453..fbc8860302 100644 --- a/src/pages/Overview/index.tsx +++ b/src/pages/Overview/index.tsx @@ -33,9 +33,9 @@ import Returns from './Returns'; export const Overview = () => { const { network } = useApi(); const { units } = network; - const { payouts } = useCereStats(); + const { payouts, poolClaims } = useCereStats(); - const { lastReward } = formatRewardsForGraphs(14, units, payouts, []); + const { lastReward } = formatRewardsForGraphs(14, units, payouts, poolClaims); const PAYOUTS_HEIGHT = 380; const STATS_HEIGHT = 80; diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index 34b4d5dbf0..b7232bb090 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -29,7 +29,7 @@ import LastEraPayoutStatBox from './Stats/LastEraPayout'; import { useCereStats } from '../../contexts/CereStats'; export const Payouts = (props: PageProps) => { - const { payouts } = useCereStats(); + const { payouts, poolClaims } = useCereStats(); const { isSyncing, services } = useUi(); const { inSetup } = useStaking(); const notStaking = !isSyncing && inSetup(); @@ -43,7 +43,7 @@ export const Payouts = (props: PageProps) => { // take non-zero rewards in most-recent order let payoutsList: AnySubscan = [ - ...payouts.concat([]).filter((p: AnySubscan) => p.amount > 0), + ...payouts.concat(poolClaims).filter((p: AnySubscan) => p.amount > 0), ].slice(0, MAX_PAYOUT_DAYS); // re-order rewards based on block timestamp From e410bf66cdb22d08b5d7edc3be7705708f1d91a2 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 13:31:55 +0400 Subject: [PATCH 055/121] Rename Cere Stats API to Cere Stats --- src/contexts/CereStats/types.ts | 2 +- src/library/SubscanButton/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contexts/CereStats/types.ts b/src/contexts/CereStats/types.ts index 1505b8f113..e6b0632d38 100644 --- a/src/contexts/CereStats/types.ts +++ b/src/contexts/CereStats/types.ts @@ -1,7 +1,7 @@ export interface CereStatsContextInterface { fetchEraPoints: (v: string, e: number) => void; payouts: any; - // The Cere Stats API does not currently support `poolClaims`. + // The Cere Stats does not currently support `poolClaims`. // We need it to maintain consistency with the `useSubscan` hook and for possible future support of `poolClaims`. poolClaims: []; } diff --git a/src/library/SubscanButton/index.tsx b/src/library/SubscanButton/index.tsx index 1880ece7da..041909c84a 100644 --- a/src/library/SubscanButton/index.tsx +++ b/src/library/SubscanButton/index.tsx @@ -41,7 +41,7 @@ export const SubscanButton = () => { transform="shrink-2" style={{ marginRight: '0.3rem' }} /> - Cere Stats API + Cere Stats ); }; From ed8a1ebc13926707fb5ac78431c4c8b58e2f3854 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 13:57:26 +0400 Subject: [PATCH 056/121] Refactor: Extract logic from CereStatsProvider into custom hooks --- src/contexts/CereStats/index.tsx | 83 +++++++++++++++++--------------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index d7ecbf187e..ba5c347d31 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -10,48 +10,15 @@ import { defaultCereStatsContext } from './defaults'; import { CereStatsContextInterface } from './types'; import { useConnect } from '../Connect'; import { useApi } from '../Api'; -import { UIContextInterface } from '../UI/types'; -import { useUi } from '../UI'; - -const CereStatsContext = createContext( - defaultCereStatsContext -); - -export const useCereStats = () => React.useContext(CereStatsContext); - -export const CereStatsProvider = ({ - children, -}: { - children: React.ReactNode; -}) => { - const { network, isReady } = useApi(); - const { services }: UIContextInterface = useUi(); - const { activeAccount } = useConnect(); +import { Network } from '../../types'; +const useApolloClient = (endpoint: Network['cereStatsEndpoint']) => { const [client, setClient] = useState | null>(null); - const [payouts, setPayouts] = useState([]); - - // reset payouts on network switch - useEffect(() => { - setPayouts([]); - }, [network]); - - // fetch payouts as soon as network is ready - useEffect(() => { - if (isReady) { - fetchPayouts(); - } - }, [isReady, network, activeAccount]); - - // fetch payouts on services toggle - useEffect(() => { - fetchPayouts(); - }, [services]); useEffect(() => { const wsLink = new WebSocketLink({ - uri: network.cereStatsEndpoint, + uri: endpoint, options: { reconnect: true, }, @@ -63,9 +30,13 @@ export const CereStatsProvider = ({ }); setClient(_client); - }, [network]); + }, [endpoint]); + + return client; +}; - const fetchEraPoints = async (address: string, era: number) => { +const useEraPoints = (client: ApolloClient | null) => { + const fetchEraPoints = async (address: string) => { if (!address || !client) { return []; } @@ -82,13 +53,22 @@ export const CereStatsProvider = ({ variables: { stashAddress: address }, }); - // eslint-disable-next-line @typescript-eslint/no-shadow return data.era_points.map(({ era, points }: any) => ({ era, reward_point: points, })); }; + return fetchEraPoints; +}; + +// Fetch Payouts Hook +const usePayouts = ( + client: ApolloClient | null, + activeAccount: string | null +) => { + const [payouts, setPayouts] = useState([]); + const normalizePayouts = ( payoutData: { block_number: number; data: string; timestamp: number }[] ) => { @@ -142,6 +122,31 @@ export const CereStatsProvider = ({ setPayouts(normalizePayouts(data.event)); }; + useEffect(() => { + fetchPayouts(); + }, [client, activeAccount]); + + return payouts; +}; + +const CereStatsContext = createContext( + defaultCereStatsContext +); + +export const useCereStats = () => React.useContext(CereStatsContext); + +export const CereStatsProvider = ({ + children, +}: { + children: React.ReactNode; +}) => { + const { network } = useApi(); + const { activeAccount } = useConnect(); + + const client = useApolloClient(network.cereStatsEndpoint); + const fetchEraPoints = useEraPoints(client); + const payouts = usePayouts(client, activeAccount); + if (!client) { return null; } From 12a5789e88b524edbe4f469e6cbfd073492853f6 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 14:24:25 +0400 Subject: [PATCH 057/121] Add `cereStats` service --- src/consts.ts | 3 +-- src/library/SubscanButton/index.tsx | 4 ++-- src/modals/ValidatorMetrics/index.tsx | 4 ++-- src/pages/Overview/Payouts.tsx | 6 +++--- src/pages/Payouts/index.tsx | 6 +++--- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index 980939b6e9..5f5858f05d 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -71,8 +71,7 @@ export const MEDIUM_FONT_SiZE_MAX_WIDTH = 1600; /* * Toggle-able services */ -// TODO: Add 'cereStats' in the future. -export const SERVICES = ['subscan']; +export const SERVICES = ['cereStats']; /* * Fallback config values diff --git a/src/library/SubscanButton/index.tsx b/src/library/SubscanButton/index.tsx index 041909c84a..bfee40df09 100644 --- a/src/library/SubscanButton/index.tsx +++ b/src/library/SubscanButton/index.tsx @@ -30,11 +30,11 @@ export const SubscanButton = () => { return ( {
{ return (
- {!services.includes('subscan') ? ( + {!services.includes('cereStats') ? ( ) : ( diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index b7232bb090..ec7ae781fb 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -82,11 +82,11 @@ export const Payouts = (props: PageProps) => {
- {!services.includes('subscan') ? ( + {!services.includes('cereStats') ? ( ) : ( From 44ff804e59283b2483867538439c279a16cc69e8 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 14:26:38 +0400 Subject: [PATCH 058/121] Remove `SubscanProvider` --- src/Providers.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Providers.tsx b/src/Providers.tsx index cc3642aa58..f5850a5981 100644 --- a/src/Providers.tsx +++ b/src/Providers.tsx @@ -23,12 +23,11 @@ import { PoolMembershipsProvider } from './contexts/Pools/PoolMemberships'; import { ActivePoolProvider } from './contexts/Pools/ActivePool'; import { SideBarProvider } from './contexts/SideBar'; import { StakingProvider } from './contexts/Staking'; -import { SubscanProvider } from './contexts/Subscan'; +import { CereStatsProvider } from './contexts/CereStats'; import { ValidatorsProvider } from './contexts/Validators'; import { UIProvider } from './contexts/UI'; import { useTheme } from './contexts/Themes'; import { SessionEraProvider } from './contexts/SessionEra'; -import { CereStatsProvider } from './contexts/CereStats'; export const WrappedRouter = () => ( @@ -64,7 +63,6 @@ export const Providers = withProviders( ValidatorsProvider, UIProvider, CereStatsProvider, - SubscanProvider, MenuProvider, TooltipProvider, PaletteProvider, From dd911a3aba50ddf9199533fd8359cdadea084370 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 16:20:44 +0400 Subject: [PATCH 059/121] Rename useEraPoints to useFetchEraPoints --- src/contexts/CereStats/index.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index ba5c347d31..9c73ce146d 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -35,7 +35,9 @@ const useApolloClient = (endpoint: Network['cereStatsEndpoint']) => { return client; }; -const useEraPoints = (client: ApolloClient | null) => { +const useFetchEraPoints = ( + client: ApolloClient | null +) => { const fetchEraPoints = async (address: string) => { if (!address || !client) { return []; @@ -144,7 +146,7 @@ export const CereStatsProvider = ({ const { activeAccount } = useConnect(); const client = useApolloClient(network.cereStatsEndpoint); - const fetchEraPoints = useEraPoints(client); + const fetchEraPoints = useFetchEraPoints(client); const payouts = usePayouts(client, activeAccount); if (!client) { From 5d0796d121ef4a3b2bb7ed32723bba443961b47a Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 16:36:15 +0400 Subject: [PATCH 060/121] Update CHANGELOG.md --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b21dda577..aaef2e3b45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [vNext] - Date + +## Added +- Added `CereStatsProvider` feature to fetch data from CereStats API, providing reward history and era points for validators. +- Implemented custom hooks, `useFetchEraPoints` and `usePayouts`, to manage data from CereStats API. `useFetchEraPoints` retrieves era points for a specific validator, while `usePayouts` manages reward history. + +## Changed +- The `useSubscan` hook has been replaced with the `useCereStats` hook for the Reward History and Era Point Charts data source. +- Removed dependency on `Subscan API` and simplified data management strategy by using `CereStats` API as primary data source. + ## [1.0.1] - 2023-05-18 ## Added From c9f21f547f264cabe8c576cbad311f0235bc7180 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Tue, 30 May 2023 17:07:14 +0400 Subject: [PATCH 061/121] Limit Display to last 100 Eras for Validators --- src/contexts/CereStats/index.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index 9c73ce146d..df53b10f8c 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -38,7 +38,7 @@ const useApolloClient = (endpoint: Network['cereStatsEndpoint']) => { const useFetchEraPoints = ( client: ApolloClient | null ) => { - const fetchEraPoints = async (address: string) => { + const fetchEraPoints = async (address: string, activeEraIndex: number) => { if (!address || !client) { return []; } @@ -55,10 +55,20 @@ const useFetchEraPoints = ( variables: { stashAddress: address }, }); - return data.era_points.map(({ era, points }: any) => ({ - era, - reward_point: points, - })); + if (data?.era_points !== null) { + const list = []; + for (let i = activeEraIndex; i > activeEraIndex - 100; i--) { + list.push({ + era: i, + reward_point: + data.era_points.find((item: any) => item.era === i)?.points ?? 0, + }); + } + // removes last zero item and returns + return list.reverse().splice(0, list.length - 1); + } + + return []; }; return fetchEraPoints; From 843b1db4a0a9729c4b8fbe8d7a3be209e7e503b2 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 31 May 2023 12:03:36 +0400 Subject: [PATCH 062/121] Refactor of CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aaef2e3b45..515d835195 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Changed - The `useSubscan` hook has been replaced with the `useCereStats` hook for the Reward History and Era Point Charts data source. + +## Removed - Removed dependency on `Subscan API` and simplified data management strategy by using `CereStats` API as primary data source. ## [1.0.1] - 2023-05-18 From 3df2bec0d2f9c0426e4a871139b0ee6c82f1f3ed Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 31 May 2023 12:05:44 +0400 Subject: [PATCH 063/121] Rename "CereStats" to "Cere Stats" --- src/modals/ValidatorMetrics/index.tsx | 2 +- src/pages/Overview/Payouts.tsx | 2 +- src/pages/Payouts/index.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modals/ValidatorMetrics/index.tsx b/src/modals/ValidatorMetrics/index.tsx index 32f397b77c..1ceda6f405 100644 --- a/src/modals/ValidatorMetrics/index.tsx +++ b/src/modals/ValidatorMetrics/index.tsx @@ -59,7 +59,7 @@ export const ValidatorMetrics = () => {
{ ) : ( diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index ec7ae781fb..497ddeb2a8 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -86,7 +86,7 @@ export const Payouts = (props: PageProps) => { ) : ( From 800d563f00a65b39116d8ee5ae0ad0c9f10d2470 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 31 May 2023 12:09:06 +0400 Subject: [PATCH 064/121] Extract a constant `ERAS_TO_SHOW` for `fetchEraPoints` --- src/contexts/CereStats/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/contexts/CereStats/index.tsx b/src/contexts/CereStats/index.tsx index df53b10f8c..87640ed3f5 100644 --- a/src/contexts/CereStats/index.tsx +++ b/src/contexts/CereStats/index.tsx @@ -57,7 +57,10 @@ const useFetchEraPoints = ( if (data?.era_points !== null) { const list = []; - for (let i = activeEraIndex; i > activeEraIndex - 100; i--) { + // Set a constant for the number of eras we want to display + const ERAS_TO_SHOW = 100; + + for (let i = activeEraIndex; i > activeEraIndex - ERAS_TO_SHOW; i--) { list.push({ era: i, reward_point: From 9768871c535662e58a67d6ac7616b8ff10254da3 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 31 May 2023 12:12:21 +0400 Subject: [PATCH 065/121] Refactor format for CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 515d835195..3cfa1569ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,13 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [vNext] - Date ## Added + - Added `CereStatsProvider` feature to fetch data from CereStats API, providing reward history and era points for validators. - Implemented custom hooks, `useFetchEraPoints` and `usePayouts`, to manage data from CereStats API. `useFetchEraPoints` retrieves era points for a specific validator, while `usePayouts` manages reward history. ## Changed + - The `useSubscan` hook has been replaced with the `useCereStats` hook for the Reward History and Era Point Charts data source. ## Removed + - Removed dependency on `Subscan API` and simplified data management strategy by using `CereStats` API as primary data source. ## [1.0.1] - 2023-05-18 From b3771d25395c6fc8e25ffa99dc1f916039f6fb42 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Wed, 31 May 2023 15:35:49 +0400 Subject: [PATCH 066/121] Release 1.1.0 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cfa1569ab..c36221c14c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [vNext] - Date +## [1.1.0] - 2023-05-31 ## Added diff --git a/package.json b/package.json index a8666cb0c1..02c411318c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polkadot-staking-dashboard", - "version": "1.0.1", + "version": "1.1.0", "license": "apache-2.0", "private": false, "dependencies": { From 40f9928f419c43a217c264b06f24dc80fe5e554c Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Thu, 1 Jun 2023 16:59:42 +0400 Subject: [PATCH 067/121] Fix payout history date range --- CHANGELOG.md | 6 ++++++ package.json | 2 +- src/pages/Payouts/index.tsx | 8 +++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c36221c14c..027e484802 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.1] - 2023-06-01 + +## Changed + +- Fix payout history date range. The dates were initially reversed and displayed the wrong date range. + ## [1.1.0] - 2023-05-31 ## Added diff --git a/package.json b/package.json index 02c411318c..b45b037ca2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polkadot-staking-dashboard", - "version": "1.1.0", + "version": "1.1.1", "license": "apache-2.0", "private": false, "dependencies": { diff --git a/src/pages/Payouts/index.tsx b/src/pages/Payouts/index.tsx index 497ddeb2a8..9a905abd97 100644 --- a/src/pages/Payouts/index.tsx +++ b/src/pages/Payouts/index.tsx @@ -68,12 +68,14 @@ export const Payouts = (props: PageProps) => {

- {payouts.length ? ( + {payoutsList.length ? ( <> - {moment.unix(payouts[0].block_timestamp).format('Do MMMM')} + {moment + .unix(payoutsList[payoutsList.length - 1].block_timestamp) + .format('Do MMMM')}  -  {moment - .unix(payouts[payouts.length - 1].block_timestamp) + .unix(payoutsList[0].block_timestamp) .format('Do MMMM')} ) : ( From 159f60ba50340f3f8e56f1f9dd94cc8807634672 Mon Sep 17 00:00:00 2001 From: shamilkhan Date: Fri, 7 Jul 2023 13:19:25 +0400 Subject: [PATCH 068/121] Restore TogglePalette. --- src/library/SideMenu/index.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/library/SideMenu/index.tsx b/src/library/SideMenu/index.tsx index fec0006a46..9ca6476964 100644 --- a/src/library/SideMenu/index.tsx +++ b/src/library/SideMenu/index.tsx @@ -226,6 +226,10 @@ export const SideMenu = () => { transform="grow-3" /> +