Skip to content

Commit b289a47

Browse files
authored
chore: rebate page + notif for Dec (#2054)
1 parent 7cfdaab commit b289a47

File tree

7 files changed

+257
-24
lines changed

7 files changed

+257
-24
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"@cosmjs/tendermint-rpc": "^0.32.1",
5656
"@datadog/browser-logs": "^5.23.3",
5757
"@dydxprotocol/v4-client-js": "3.4.0",
58-
"@dydxprotocol/v4-localization": "1.1.374",
58+
"@dydxprotocol/v4-localization": "1.1.377",
5959
"@dydxprotocol/v4-proto": "^7.0.0-dev.0",
6060
"@emotion/is-prop-valid": "^1.3.0",
6161
"@hugocxl/react-to-image": "^0.0.9",

pnpm-lock.yaml

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/constants/clc.ts

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,160 @@ export const TRADING_LEAGUE_REWARDS_DETAILS_ROUND_2 = {
165165
dydx1xtcq873fs2a7mkyqcwpfftul8ernpfklgmmtrt: 500,
166166
} as Record<string, number>,
167167
};
168+
169+
export const LOSS_REBATE_DETAILS_DECEMBER = {
170+
claimDeadline: '2026-01-31T23:59:59.000Z',
171+
claimStartTime: '2026-01-01T00:00:00.000Z',
172+
estimatedWalletRebates: {
173+
dydx1mlf3afr8k6fh6k9sk9ktauylwh6ckwg8t70zhg: 21214.59,
174+
dydx1t7e8322wxcrdnjs4lks0x4epzql00rkwqxnt33: 12569.39,
175+
dydx1hyfm837du0zzn2pw0r328q7nl07c0um7u207ge: 5_144.26,
176+
dydx17vt04dtfau0hvm0v6ahx708lflpgg4gedfqsyh: 5_132.79,
177+
dydx1ufs97x7psym2735x7sfksdrsux63wzjfzfvpwd: 4_816.17,
178+
dydx1qkw0s4vzn8qmq7kx8cusdmqexsgrnx73ue7xpf: 4_738.85,
179+
dydx10yeumv4mdfre68g3tcf03nlr9y4rlsn4uss4uf: 4_486.49,
180+
dydx17tch34sk5gzmn92zc5srwjngqgfqxcfex9339j: 4_478.6,
181+
dydx1xg8lddfdvvlht55ddvaljupsh05n2t5m6v590z: 4_375.48,
182+
dydx13aeza8l3mrcr8d34g9z8tcunncl74gprf7t98g: 3_666.87,
183+
dydx172rtxnesdvgx89nr9umykly7wtwvsk8z2rteme: 3_062.1,
184+
dydx1jxe3l4h2ychf66q5f37qxfpx2jh6l3zjum39rz: 2_849.81,
185+
dydx1a3ggqr30aduu4nhf92xxv8zqceczqdsg078lk4: 2_667.3,
186+
dydx1vz42lw99mnk99ln7qurfg4rwrld7e96cm76xe5: 2_579.8,
187+
dydx1j9z9uma04xrr52fcmw9q56qjmtmax53ne6c53m: 2_532.1,
188+
dydx19z6vfsndsjsm9cadum24vft9tvp23cmfe8twj2: 2_417.43,
189+
dydx1fq6yr280mge9ke9rncwzfdsf8fq8pxvxj643h0: 2_068.35,
190+
dydx1hsest59cpjhzlpslwdsjmvwapjyd0cfthmn3ja: 1_893.51,
191+
dydx1kh9rhnyjmh6h4dpzpxqfcsc3dhmzwpz9myu7ev: 1_880.28,
192+
dydx1e7hkcyyskgdgcc4j4pk06j99ylcfj0y8mf5s83: 1_879.3,
193+
dydx1za0zs4stp65vll2nmh26qualq0uj6thh7ryyxc: 1_791.37,
194+
dydx17c3qn6jxe2c3ea7ck960h0q20fma7gz65f8gkr: 1_750.99,
195+
dydx1t9hd44tz6rh5ah7ljcyp99053rpymwm5fw4f53: 1_715.4,
196+
dydx1zug353eq708ycmx5m8wp2ldj5nwfusl3kz2svk: 1_646.83,
197+
dydx146keskm02u7hkqc6v6nvq3f8slavrytwpks6zz: 1_625.57,
198+
dydx1n76jumjapfqkpnyqgvvqcv8762m06k4yl6cr5y: 1_491.74,
199+
dydx1r0jdema35fkl4k4q0808955n56rjeq92rhz7jh: 1_297.48,
200+
dydx1qnulemnmyrm2rv2u3y6nfq379kldjza8qxgcga: 1_279.73,
201+
dydx1p8e28y4msnlqrdsp352l35x7myevu54m60jznd: 1_232.31,
202+
dydx142v4mv2ng6ejxd8anx7a93p5tx8md5mqgz6nqj: 1_214.43,
203+
dydx19vs0ys95hauyu6yejdkt59rvungn9z8zj6l8kt: 1_171.12,
204+
dydx1afr2uvufcw4qwr4k9le2g8yxughnztncm3j5v9: 1_168.91,
205+
dydx1y92j8l9nmnx8htjx3f9jec4eg4xzlepreg5xa5: 1_156.29,
206+
dydx10gtrjmf0qsutgrlsc32qwv6dq4v8xwqdcameyl: 1_121.41,
207+
dydx18023tv2kw8c03us8nl77ma00466zqqzgzh7l6y: 1_075.65,
208+
dydx1f3l724ezg3m9eykkyem6xamguqyf434ptzpkda: 975.78,
209+
dydx10wv0ur56cq3wyk5v58cjnux4745xc85fe7uurj: 935.56,
210+
dydx1m4mc4dsvdf3q7jpa5kgpz2w86wykfqergfmc5v: 926.01,
211+
dydx1hn02fr6lt0pjnmz4cax69uhfrhsdxanha5yjya: 887.64,
212+
dydx19v3y45yas9k0k9qzv3pqmwdzusgrlxev6t45fj: 867.28,
213+
dydx16y908xy4pg2q07a8ydfzxwcryy8uzwt044uvu0: 853.66,
214+
dydx1yrne3cadvch3hju8at5k4tn9xp98z4hgkzyhj5: 849.7,
215+
dydx1270ufzkufkkp4l922zltjf5g9rlufupl748lr2: 846.13,
216+
dydx1nvuqg7755yzeun2vkulltlnx854uxm0gur6m0p: 819.33,
217+
dydx1ekhpltj546m0ket08s32r6ggzsj60zjelhtyqq: 812.27,
218+
dydx1878e4s67ura0l5mp4zesz6ghkcr4u232zhfcy4: 811.61,
219+
dydx1qlnpjgqhdfca54gjrute88estqwz7mchffyawk: 806.79,
220+
dydx1lh75k0str8nxgwgrd2xwx440l38ds9ur0ek67e: 801.82,
221+
dydx176txwnwps6shutxl0jwlv9p4vhdasmp3fm6s4e: 795.8,
222+
dydx1rr2q3dm02dpagddyj2fklgn78094sdpt9hldh4: 732.98,
223+
dydx1c5sprm6rz2usnj2lrs90tpczy4n88hlz6clau8: 696.99,
224+
dydx1h0xansqzvhs2th9m7cdn5r6e52tkwvxrxp9yuf: 679.59,
225+
dydx1vstyyprk2xtrfe8ealw3wrqt9rgfs9rx9ztfvp: 660.93,
226+
dydx1pwnxr3cwvyc8xlqf8rxzs7ahamkc2g52y7p4yl: 650.76,
227+
dydx1460wq5jknd83vmqgxnrm0jfjjr2tda28ysxc2j: 643.54,
228+
dydx1keelhggvqu9qley30qx9s8evu4f9jznxugh5pn: 635.65,
229+
dydx1zqgese9vvr338c2c63f27gwcg9h8npsstnvsda: 611.51,
230+
dydx1vgl5r7shzlx4s026jvsyyld4v5lz98alwe5xtd: 611.29,
231+
dydx1mf5myafs9vtt0erqpnfrk447g5fd5aa4sqx9t8: 605.22,
232+
dydx1rmt5tm8eesmp06nwsy0ulcy8x3d65wz3x2al25: 601.18,
233+
dydx1yrs7kz3l6rmy97tm7a5lxm4smat2caf8tfnhwa: 597.31,
234+
dydx1rng56c8lg2ggdpav004as9mh5aft9v9fnw73j5: 593.91,
235+
dydx1x7xnr38gpvmk30zk9ggqg6smky2060lj0dme94: 590.43,
236+
dydx14jk68rhpjrlquupvdystfzw2snf7v43qscanqt: 580.64,
237+
dydx12p4z697emcxra05tu0t27ayj33y5tcpx2zq68n: 579.98,
238+
dydx1mefa0n6j58zvxpva0c4na8rgm5rf6sj9wr6xdl: 573.68,
239+
dydx1cdh7lg5awsxdgc2gvm26k8ut8f5nflrw55dzcg: 570.6,
240+
dydx1fq359sn2y7waawamk28t0k3wgkucz25njzm3tc: 567.4,
241+
dydx163s0g5a0f4x8264w5nx2qear06ffe3w45dcv5u: 550.08,
242+
dydx1mc04vfdgq5wqmndlcg3w8ec78sj8mqk6qjfeq2: 548.61,
243+
dydx1psmqc6srxwzqva6s7xccyqr44hmvjsc9hgm0qg: 541.04,
244+
dydx1xg9c2jj7z07krwsfz3njc5gnwcmwfqxcjwl6tw: 537.98,
245+
dydx1r8qx6zsytaah63d93xzd700ls2aw4nr2ew64ht: 532.67,
246+
dydx1x89rwrgsd287j8nyrk084c2rqwxv9zxypv7nht: 496.3,
247+
dydx1r9dnrhek4gneng3kkd2uh8nek3kth34yxmew9k: 496.05,
248+
dydx19x88qpljqxsem2kg54529u8zyvlan4hn3dwjrd: 494.65,
249+
dydx1u98rum2e3plmvwugegcnge6st4pvxpu2ccsvwe: 489.22,
250+
dydx1wdm2vfjzqjn2k37n86aqz7ccf5qpdpwj5serjr: 487.1,
251+
dydx1jfueucq6qg4avnjev0vd2nvtg0rdcl4lvgsr5g: 449.09,
252+
dydx13rysc2grgj8kt8yys6ylm03n9chpwktvx9rcsd: 443.57,
253+
dydx1eds2v66jspluc26rztn07qd0m8548096qk06tw: 441.32,
254+
dydx1uzzht3xa8k6vnwkyq670d9kg8trzajfnceqcrw: 441.16,
255+
dydx1243dmezzarsf6s864jed8qhchkxncn3unl6rez: 439.94,
256+
dydx1tn8k4dkf9zyqqxs5uyrcupuvzh6nz48qrh0ukk: 432.85,
257+
dydx1nr4swq0m7xd0duuccwfgl045x2zt6gmtp8dlnw: 432.79,
258+
dydx1qcslanrp92v7r37w9qx867l5lghk5r5yfc5ajy: 430.0,
259+
dydx19hpc0z4e47w3uyz8xjjs2yv6q74dry79jeamr7: 425.37,
260+
dydx1lszly2ec0aalr8hdmqdcd5afz8raelmstg3whl: 419.85,
261+
dydx1w26nye5g2psq8edhj3ch99tc0p4qkv3kvcdnkx: 407.12,
262+
dydx1qf7flvprrgsdxcd4gmj62gzn7n06lxxgh037eq: 405.73,
263+
dydx1eqszeg4snqjp7qw7tgkl2mchucalkf46jefw27: 404.51,
264+
dydx1jhrcf80p504wxy7lkfd5yh9xf3q0kp90gmx0md: 402.76,
265+
dydx19gvq2407chnwy0qz7ra83cktfymnwy0nn08puz: 378.6,
266+
dydx1sdx3cdcvkvygkq24tcsa9z2z4lkszfu44q0lgs: 372.29,
267+
dydx15uh9tkcht0nvx0n8rqnqd2ky05xkrnmd7un972: 369.69,
268+
dydx1vm2yw07sptmmgum60rvp7ku202j55gkh86k4vv: 365.52,
269+
dydx1mx8selmafedqj7dwljmpttt5m6z5lgufqes6cm: 338.22,
270+
dydx10pacmn48mkmsx22kfn7xqzva99xzqysw8uyu9j: 332.95,
271+
dydx1vk0h00qqzfvw9kdjsywxlatk985a497krmh5hj: 332.01,
272+
dydx17fvqfps00zjvw4adwyfruk03vfw4t662455w6s: 326.91,
273+
dydx15zcrkaq3w2k0gqdha3r4c5pqlz4nrjtfn67vww: 325.4,
274+
dydx13x8welmr77vhhx2369pauhqaay9l7e2z24kjz2: 323.9,
275+
dydx16ca2dg7y477zyrw0demqsse3stesud7val6dk9: 323.42,
276+
dydx1vd27pygl6y4qndpmd4hc86fqvdj7tj4hhf6hee: 322.14,
277+
dydx1gch3w7yu2cp97gsukx4ludfn8stwdk50gcf65d: 319.44,
278+
dydx1rdh0tkmnc24uzx7ek94g9qzg02jnpjp8w3wwm2: 317.11,
279+
dydx1rjswanm2hr2m5xlr7da8zsdv8nmldgvrg7x5eq: 300.9,
280+
dydx1gmmyuv4ttzgduj6zpxtsnemvfa5gr6ca4cmcj2: 298.93,
281+
dydx1cks57memrkcnc87taxddvmphlkm2ypja5u7g3x: 297.47,
282+
dydx1st9u6puqvv38hf3jyvce8f9j0gvlprze9jqa8f: 294.29,
283+
dydx1ga7aqlv9ll765v0pqtzcspmvg9xgxgj3kjvpss: 294.07,
284+
dydx1pvp6acnlve8yl4gu7uvgvhnlzt8tayc73kzyur: 289.03,
285+
dydx1k9a76t62p6dv0wrkc4fg8vkrjtkv6ssfjg5l5e: 287.96,
286+
dydx19rpqpy7hf3zs7z0c0urd7es0qk3rq8dlsplptl: 270.88,
287+
dydx1ckjdu8xntrwhdeepmpp7r6l6uv3gduez0fgh6s: 270.47,
288+
dydx177r48xzlzys8r3nz0kyelurul65xhw09p2cmp9: 267.89,
289+
dydx130unqxxlzy96wf7jd5dzw0espgfg7c9ytmcw9a: 267.43,
290+
dydx1mz3hmy6tw7d2kljgqxcyt5l7j43h4jnye5tksd: 263.95,
291+
dydx17qvwdpdljavs8ksg89pdjuqf3nmzdu6x92wst9: 262.57,
292+
dydx18zswqnds6ctwhm05vf2nfv3edw0kdkwf8u4fdh: 256.9,
293+
dydx1k36d0u3s9670yuphwcaem9f3k8zkhxa50xhhz8: 256.15,
294+
dydx1xr46hn6jgm3j6akwfgpmfzlpm50cnpptj8d6jr: 255.51,
295+
dydx1erkqndnmndy5fmgny7wh0v4a72qy3q6vdhhvn0: 248.26,
296+
dydx1s6e0aej3g4nax2gmw9dcd8tnpwse8tfvpp729k: 239.96,
297+
dydx182glr4x8d72nxuq0nj8f68ucy206uhrtw02m0k: 229.32,
298+
dydx19qg6vutphyqkrajks0rmxpapan5xkzkadg0jek: 226.7,
299+
dydx1kvuc2mcjy49jv9tzfdt25alkzhxlwh83v9c5yv: 223.64,
300+
dydx1sglhvdmt28t39u5lyn36v9qwpjfgqk8u8usyc2: 220.32,
301+
dydx1cc4zg3genhyca4447l56g9w03gvjj7hm5rnpn4: 205.17,
302+
dydx1uprnd4j0twwgfrqgcqnv0jeq60z28ar2c6dz5h: 203.73,
303+
dydx1gjhj2y43kvk973vr2wwmlkg8w0f5vgvduxn9ra: 200.44,
304+
dydx1dr2vkdjkxxv7k8quaece8eu8977x09hn0ahjmz: 196.64,
305+
dydx139r5pzr0cjyw4826kcjv7cstf62zkc8w0hkzhd: 193.89,
306+
dydx1f8w6v90nvppq9yl04ajt4522c46jvju2cwac00: 184.56,
307+
dydx1urprj9t75a3tfhh3vyupz3vqccgqua74m800ze: 180.42,
308+
dydx1xq7hh2yw8jpfmynhe4kdkdvjk37zftt4mwddsr: 177.89,
309+
dydx1e9rdljrlqzjm9g42fe3h5pekgnx6xphgsrhnnt: 175.53,
310+
dydx19cgkf9vdvmvdcg27d0zn7e9z2klttf0us6wp09: 167.98,
311+
dydx1axv8uda4c8ryz9e5gyx7hc3vz4ptmr6gmn67jw: 167.87,
312+
dydx1sxx63srcn4mjm56k44wqa3ataslm3zasv6m6nt: 164.0,
313+
dydx14y778ruqy6v75pkw3cwatgyq5mlppwnd9sxl06: 161.63,
314+
dydx1a3z36lmvaga6c2jc0p0gpk99f3w6vv5qu8a58f: 157.12,
315+
dydx1c8m7ew5ezvsp9xswwr73gamd2tcnd8n9v6lpx9: 153.6,
316+
dydx1zgkgpa6s4rj9q6ljqlpkav5e0lvmtp4xn5zvma: 149.63,
317+
dydx10dfv4eh8vcln5rlgewfnd2xakq8d9q3qumw9h4: 149.45,
318+
dydx10cw0va8wpdkfl64kjs56evqnczm9nkwhzszplf: 146.62,
319+
dydx1h6npszpvkhpuljfa2lg2ay5lsehsdd4wa2ws52: 144.69,
320+
dydx17zhdx920qly7483k2var03a8ljy8mwkqq4gmx4: 143.65,
321+
dydx155yjamlk2csdudgz99s4th2d3jfqgwufaeky86: 143.38,
322+
dydx1jnsey8ggez76uug9xvmmeutdjz7y2ass0ecf78: 143.38,
323+
} as Record<string, number>,
324+
};

src/hooks/useNotificationTypes.tsx

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import tw from 'twin.macro';
88

99
import { AMOUNT_RESERVED_FOR_GAS_USDC, AMOUNT_USDC_BEFORE_REBALANCE } from '@/constants/account';
1010
import { CHAIN_INFO } from '@/constants/chains';
11-
import { TRADING_LEAGUE_REWARDS_DETAILS_ROUND_2 } from '@/constants/clc';
11+
import {
12+
LOSS_REBATE_DETAILS_DECEMBER,
13+
TRADING_LEAGUE_REWARDS_DETAILS_ROUND_2,
14+
} from '@/constants/clc';
1215
import { DialogTypes } from '@/constants/dialogs';
1316
import { STRING_KEYS } from '@/constants/localization';
1417
import {
@@ -696,6 +699,73 @@ export const notificationTypes: NotificationTypeConfig[] = [
696699
groupSeparator,
697700
selectedLocale,
698701
]);
702+
703+
const qualifyForDecLossRebate = useMemo(() => {
704+
return (
705+
LOSS_REBATE_DETAILS_DECEMBER.estimatedWalletRebates[dydxAddress?.toLowerCase() ?? ''] !=
706+
null &&
707+
Date.now() < new Date(LOSS_REBATE_DETAILS_DECEMBER.claimDeadline).getTime() &&
708+
Date.now() > new Date(LOSS_REBATE_DETAILS_DECEMBER.claimStartTime).getTime()
709+
);
710+
}, [dydxAddress]);
711+
712+
useEffect(() => {
713+
if (!qualifyForDecLossRebate) {
714+
return;
715+
}
716+
717+
const usdRebateAmount =
718+
LOSS_REBATE_DETAILS_DECEMBER.estimatedWalletRebates[dydxAddress?.toLowerCase() ?? ''] ??
719+
0;
720+
const formattedRebateAmount = formatNumberOutput(usdRebateAmount, OutputType.Fiat, {
721+
decimalSeparator,
722+
groupSeparator,
723+
selectedLocale,
724+
fractionDigits: USD_DECIMALS,
725+
minimumFractionDigits: USD_DECIMALS,
726+
});
727+
728+
trigger({
729+
id: `dec-2025-loss-rebate-claim`,
730+
displayData: {
731+
icon: <Icon iconName={IconName.Sparkles} />,
732+
title: stringGetter({
733+
key: STRING_KEYS.TRADING_LOSS_REBATE_CLAIM_TITLE,
734+
}),
735+
body: stringGetter({
736+
key: STRING_KEYS.TRADING_LOSS_REBATE_CLAIM_BODY,
737+
params: {
738+
REBATE_AMOUNT: formattedRebateAmount,
739+
CLAIM_DEADLINE: new Date(
740+
LOSS_REBATE_DETAILS_DECEMBER.claimDeadline
741+
).toLocaleDateString(selectedLocale, { month: 'short', day: 'numeric' }),
742+
HERE_LINK: (
743+
<Link href="https://www.dydx.xyz/liquidation-rebates" isAccent isInline>
744+
{stringGetter({ key: STRING_KEYS.HERE })}
745+
</Link>
746+
),
747+
},
748+
}),
749+
toastSensitivity: 'foreground',
750+
groupKey: NotificationType.RewardsProgramUpdates,
751+
actionAltText: stringGetter({ key: STRING_KEYS.CLAIM }),
752+
renderActionSlot: () => (
753+
<Link href="https://www.dydx.xyz/liquidation-rebates" isAccent>
754+
{stringGetter({ key: STRING_KEYS.CLAIM })}
755+
</Link>
756+
),
757+
},
758+
updateKey: [`jan-2026-trading-league-rewards-round-2`, dydxAddress],
759+
});
760+
}, [
761+
qualifyForDecLossRebate,
762+
trigger,
763+
stringGetter,
764+
dydxAddress,
765+
decimalSeparator,
766+
groupSeparator,
767+
selectedLocale,
768+
]);
699769
},
700770
},
701771
{

src/pages/token/CompetitionLeaderboardPanel.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import styled from 'styled-components';
55
import { STRING_KEYS, StringGetterFunction } from '@/constants/localization';
66

77
import { IncentiveCompetitionItem, useClcPnlDistribution } from '@/hooks/rewards/hooks';
8-
import { CURRENT_SURGE_REWARDS_DETAILS } from '@/hooks/rewards/util';
98
import { useAccounts } from '@/hooks/useAccounts';
109
import { useStringGetter } from '@/hooks/useStringGetter';
1110

@@ -18,6 +17,9 @@ import { Output, OutputType } from '@/components/Output';
1817
import { Panel } from '@/components/Panel';
1918
import { ColumnDef, Table } from '@/components/Table';
2019

20+
import { useAppSelector } from '@/state/appTypes';
21+
import { getSelectedLocale } from '@/state/localizationSelectors';
22+
2123
import { exportCSV } from '@/lib/csv';
2224
import { truncateAddress } from '@/lib/wallet';
2325

@@ -32,6 +34,7 @@ export const CompetitionLeaderboardPanel = () => {
3234
const stringGetter = useStringGetter();
3335
const { data: topPnls, isLoading } = useClcPnlDistribution();
3436
const { dydxAddress } = useAccounts();
37+
const selectedLocale = useAppSelector(getSelectedLocale);
3538

3639
const getRowKey = useCallback((row: IncentiveCompetitionItem) => row.rank, []);
3740

@@ -67,7 +70,7 @@ export const CompetitionLeaderboardPanel = () => {
6770
}));
6871

6972
exportCSV(csvRows, {
70-
filename: `rewards-leaderboard-season-${CURRENT_SURGE_REWARDS_DETAILS.season}`,
73+
filename: `loss-rebates-leaderboard-${new Date().toLocaleDateString(selectedLocale, { month: 'short', year: 'numeric' })}`,
7174
columnHeaders: [
7275
{
7376
key: 'rank',

src/pages/token/CompetitionIncentivesPanel.tsx renamed to src/pages/token/RebatesIncetivesPanel.tsx

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,11 @@ import styled from 'styled-components';
55
import tw from 'twin.macro';
66

77
import { STRING_KEYS } from '@/constants/localization';
8-
import { isDev } from '@/constants/networks';
9-
import { StatsigFlags } from '@/constants/statsig';
108

119
import { useClcPnlDistribution } from '@/hooks/rewards/hooks';
1210
import { DEC_2025_COMPETITION_DETAILS } from '@/hooks/rewards/util';
1311
import { useAccounts } from '@/hooks/useAccounts';
1412
import { useNow } from '@/hooks/useNow';
15-
import { useStatsigGateValue } from '@/hooks/useStatsig';
1613
import { useStringGetter } from '@/hooks/useStringGetter';
1714

1815
import { layoutMixins } from '@/styles/layoutMixins';
@@ -24,17 +21,11 @@ import { Panel } from '@/components/Panel';
2421
import { SuccessTag, TagSize } from '@/components/Tag';
2522
import { WithTooltip } from '@/components/WithTooltip';
2623

27-
export const CompetitionIncentivesPanel = () => {
28-
const isSept2025RewardsBase = useStatsigGateValue(StatsigFlags.ffSeptember2025Rewards);
29-
const isSept2025Rewards = isDev ? true : isSept2025RewardsBase;
30-
if (isSept2025Rewards) {
31-
return <September2025RewardsPanel />;
32-
}
33-
34-
return null;
24+
export const RebatesIncetivesPanel = () => {
25+
return <LossRebatesPanel />;
3526
};
3627

37-
const September2025RewardsPanel = () => {
28+
const LossRebatesPanel = () => {
3829
const stringGetter = useStringGetter();
3930
const now = new Date();
4031
// December 2025 is the first month (Month 1)
@@ -108,13 +99,13 @@ const September2025RewardsPanel = () => {
10899
</div>
109100
</div>
110101
</div>
111-
<Sept2025RewardsPanel />
102+
<EstimatedRewards />
112103
</div>
113104
</$Panel>
114105
);
115106
};
116107

117-
const Sept2025RewardsPanel = () => {
108+
const EstimatedRewards = () => {
118109
const stringGetter = useStringGetter();
119110
const { dydxAddress } = useAccounts();
120111
const { data: topPnls, isLoading } = useClcPnlDistribution();
@@ -153,6 +144,18 @@ const Sept2025RewardsPanel = () => {
153144
</div>
154145
<img src="/rewards-stars.svg" alt="reward-stars" tw="h-auto w-2 self-start" />
155146
</div>
147+
148+
<div tw="flex items-center gap-[0.5em] self-end font-tiny-medium">
149+
{stringGetter({ key: STRING_KEYS.POWERED_BY_ALL_CAPS })}{' '}
150+
<Link
151+
href="https://cryptolearningclub.org/"
152+
isAccent
153+
tw="font-small-bold"
154+
title="Crypto Learning Club"
155+
>
156+
CLC
157+
</Link>
158+
</div>
156159
</div>
157160
);
158161
};

0 commit comments

Comments
 (0)