From 9920a891ea7b61b1974423c6bff01d43d4d6380f Mon Sep 17 00:00:00 2001 From: Picodes <41673773+Picodes@users.noreply.github.com> Date: Thu, 19 Dec 2024 12:36:30 +0100 Subject: [PATCH] chore: new changes (#52) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: some type errors * add: services model draft * change: more opportunity types * fix: lint * add: themes and theme switcher in dev mode (#4) * add: theme selector when in dev mode * add: theme switcher in dev mode * fix: protocol empty tag * fix: lint error * Tabs sync (#5) * tabs, capitalize, socials * fix lint * change links to terms & priuvacy * lint * move edit address to breadcrumbs * user edit in component * footer issue ok * show bg-main color instead of banner outside of home and opportunities * add link to protocol header * implement zkSync colors/fonts as default * commit hash * lint * remove comments * lint * feat: re add CI (#6) * Feat/leaderboard display (#7) * Update the display of daily rewards * refactor: update CampaignTableRow to use Dropdown for blacklist and whitelist, and improve layout with Divider * wip handling rewards * update: dashboard styling (#8) * tweak: dashboard * tweak: dappkit * fix: no user warning * remove: input from description * fix: lint * add(front): modal, hero, select, tabs/tags, pagination (#9) * pagination wip * review Hero cpt gp * change pagination * change modal * change Hero + connect wallet and search results modals * lint * commit hash * comit hash * commit * update: opportunity campaigns/leaderboard view (#11) * update: campaign information collapsible * update: campaign information * add: campaign rules * update: leaderboard * fixes * fix: lint * tweaks * fix: aggregate * feat: add APR modal and table components for opportunity details on h… (#10) * feat: add APR modal and table components for opportunity details on hover opportunities table * lint * Apr tvl modal end * Feat Hero campaign and protocol (#13) * Feat Hero campaign and protocol * fix api call on subpage * lint and request can't be undefinable on service * feat(opportunity): new hero, tableRow, OpportunityFilters (#15) * working on table row + new hero image * add fitlers * add todos * lint * lint * :sparkles: sum daily rewards fora protocol (#16) * Fix/campaign page (#17) * wording * fix hero link default home * lint * wording * wording * show icon * :sparkles: redirect to Etherscan on TOken tooltip * :bug: change Time zone UTC * update: opportunities pages (#14) * add: metrics badges * update: opportunity list * fix: rewardsRecord sometimes being missing * add: apply button * add: loading bar * rm: log & lint * add: protocols filter * fix: search params * fix: * fix: lint * add: missing chains * fixes * update: dappkit * fix: lint * remove: comment * add: constant * apr (#18) * apr done * hide forwards if none + change border * lint * replace content null * Fix/campaign page (#20) * wording * fix lint error * fix time when live * wording * link to dashboard on leaderboard addresses * Leaderboard campaign selector display * lint * add lastSnapshot * add lastSnapshot (#21) * fixes: feedback, mainly opportunities & dashboard (#22) * fix: search & filters * update: descriptions * add: rewards siorting * add: tvl filter * fix * fix: redirect * fix: whitelist * add: selective claim * add: selective token * add: global claim * fix * lint * typo * fix: explorer * caching * add caching test * lint * update * add: cache on static resoruces (#23) * Enhance opportunity data retrieval with APR and daily rewards metrics (#24) * fix: pagination defaulting & cache (#25) * fix: bugs in selectors * fix: dappkit * clean wip: comment out static sideDatas for dynamic implementation (#26) * fix: protocl filter (#27) * fix: protocol desc (#28) * fix: protocol: description * rm: log * token stats + cleaning (#29) * Small APR Fix (#19) * lint * commit hash * commit hash * commit hash * Fixes on protocol, chain, token and campaign pages (#30) * Fixes on protocol, chain, token and campaign pages * lint * fix tooltip * add: depositor (#31) * update: dappkit (#33) * feat(front): apr modal, layermenu, issues !!! (#32) * redesign APR * responsive * layermenu * lint * change title * remove comment * lint * rename homepage to home (#34) * feat(front): change header logo & selects (#35) * change logo size * commiut hash * fix: update Dropdown component to use onHover for APR and TVL columns (#36) * add: fonts config (#37) * add: fonts config * lint --------- Co-authored-by: indaviande * feat: icons & uuid (#41) * icon on protocols * replace import { v4 as uuidv4 } from uuid; uuidv4(); * lint * chore: add test filter (#38) * chore: add test filter * chore: remove isTest * fix: lint * add: deposit modal (#42) * update: token * add: hooks * add: supply modal * wip display zk rewards (#39) * wip display zk rewards * wip * refactor: clean up reward components and end single line rewards display * lint * feat(api): enhance ProtocolService to include tags from config in API queries (#43) * update: dappkit * fix(campaign): update chain reference in CampaignTableRow component (#44) * fix(campaign): update chain reference in CampaignTableRow component * refactor(leaderboard): remove campaign ID display from leaderboard component * lint * feat(rewards): add rewards navigation mode configuration and update C… (#45) * feat(rewards): add rewards navigation mode configuration and update ClaimRewardsLibrary component accordingly * lint * chore: historical claim tab * chore: historical claims * chore: lint * fix: add auto linting * chore: remove useless type * fix: lint * feat: position route (#47) * feat: position route * fix: issue * chore: position page * lint * rmv workflows --------- Co-authored-by: sheykei Co-authored-by: sheykei <47207681+clement4saunier@users.noreply.github.com> Co-authored-by: Viande <33333630+indaviande@users.noreply.github.com> Co-authored-by: hugolxt <87241914+hugolxt@users.noreply.github.com> Co-authored-by: Hugo Lextrait Co-authored-by: sheykei <47207681+clmntsnr@users.noreply.github.com> Co-authored-by: indaviande --- .vscode/extensions.json | 4 + .vscode/settings.json | 18 +++ bun.lockb | Bin 896370 -> 919518 bytes merkl.config.ts | 23 +-- package.json | 7 +- packages/dappkit | 2 +- src/api/opportunity/opportunity.ts | 43 ------ .../services/campaigns/campaign.service.ts | 4 +- src/api/services/claims.service.ts | 20 +++ src/api/services/interaction.service.ts | 56 +++++++ src/api/services/liquidity.service.ts | 20 +++ .../opportunity/opportunity.service.ts | 3 +- src/api/services/protocol.service.ts | 22 ++- src/api/services/reward.service.ts | 58 ++----- src/components/composite/Hero.tsx | 17 ++- src/components/element/apr/AprModal.tsx | 2 +- .../element/campaign/CampaignTableRow.tsx | 6 +- .../HistoricalClaimsLibrary.tsx | 30 ++++ .../HistoricalClaimsRow.tsx | 51 +++++++ .../HistoricalClaimsTable.tsx | 30 ++++ .../leaderboard/LeaderboardLibrary.tsx | 7 +- .../leaderboard/LeaderboardTableRow.tsx | 4 +- .../OpportunityParticipateModal.tsx | 25 +++ .../opportunity/OpportunityShortCard.tsx | 42 +++++ .../opportunity/OpportunityTableRow.tsx | 133 ++++++++++------ .../element/participate/Interact.client.tsx | 67 ++++++++ .../element/position/PositionLibrary.tsx | 32 ++++ .../element/position/PositionTable.tsx | 23 +++ .../element/position/PositionTableRow.tsx | 43 ++++++ .../element/rewards/ClaimRewardsLibrary.tsx | 36 ++++- .../ClaimRewardsByOpportunity.tsx | 62 ++++++++ .../ClaimRewardsTableByOpportunity.tsx | 36 +++++ ...ClaimRewardsTokenTableRowByOpportunity.tsx | 55 +++++++ src/components/element/token/TokenSelect.tsx | 75 +++++++++ src/components/layout/Header.tsx | 8 +- src/config/opportunity.ts | 1 + src/config/rewards.ts | 1 + src/config/type.ts | 4 + src/hooks/resources/useOpportunity.tsx | 31 +++- src/hooks/useBalances.tsx | 56 +++++++ src/hooks/useInteractionTarget.tsx | 26 ++++ src/hooks/useInteractionTransaction.tsx | 49 ++++++ src/hooks/useMerklSearch.tsx | 11 +- src/hooks/useParticipate.tsx | 143 ++---------------- src/routes/_merkl.chains.(all).tsx | 8 +- ...ortunities.$chain.$type.$id.(overview).tsx | 17 ++- ...rtunities.$chain.$type.$id.leaderboard.tsx | 5 +- .../_merkl.opportunities.$chain.$type.$id.tsx | 7 +- src/routes/_merkl.protocols.(all).tsx | 8 +- src/routes/_merkl.tokens.$symbol.tsx | 8 +- src/routes/_merkl.tokens.(all).tsx | 6 +- ...erkl.users.$address.$chainId.liquidity.tsx | 26 ++++ .../_merkl.users.$address.(rewards).tsx | 3 +- src/routes/_merkl.users.$address.claims.tsx | 22 ++- .../_merkl.users.$address.liquidity.tsx | 5 - src/routes/_merkl.users.$address.tsx | 29 +++- src/routes/_merkl.users.(none).tsx | 70 +++++---- 57 files changed, 1206 insertions(+), 394 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json delete mode 100644 src/api/opportunity/opportunity.ts create mode 100644 src/api/services/claims.service.ts create mode 100644 src/api/services/interaction.service.ts create mode 100644 src/api/services/liquidity.service.ts create mode 100644 src/components/element/historicalClaimsLibrary/HistoricalClaimsLibrary.tsx create mode 100644 src/components/element/historicalClaimsLibrary/HistoricalClaimsRow.tsx create mode 100644 src/components/element/historicalClaimsLibrary/HistoricalClaimsTable.tsx create mode 100644 src/components/element/opportunity/OpportunityParticipateModal.tsx create mode 100644 src/components/element/opportunity/OpportunityShortCard.tsx create mode 100644 src/components/element/participate/Interact.client.tsx create mode 100644 src/components/element/position/PositionLibrary.tsx create mode 100644 src/components/element/position/PositionTable.tsx create mode 100644 src/components/element/position/PositionTableRow.tsx create mode 100644 src/components/element/rewards/byOpportunity/ClaimRewardsByOpportunity.tsx create mode 100644 src/components/element/rewards/byOpportunity/ClaimRewardsTableByOpportunity.tsx create mode 100644 src/components/element/rewards/byOpportunity/ClaimRewardsTokenTableRowByOpportunity.tsx create mode 100644 src/components/element/token/TokenSelect.tsx create mode 100644 src/config/opportunity.ts create mode 100644 src/config/rewards.ts create mode 100644 src/hooks/useBalances.tsx create mode 100644 src/hooks/useInteractionTarget.tsx create mode 100644 src/hooks/useInteractionTransaction.tsx create mode 100644 src/routes/_merkl.users.$address.$chainId.liquidity.tsx delete mode 100644 src/routes/_merkl.users.$address.liquidity.tsx diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..64373a0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": [], + "unwantedRecommendations": [] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b8ad668 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,18 @@ +{ + "editor.codeActionsOnSave": { + "source.organizeImports.biome": "explicit" + }, + "editor.defaultFormatter": "biomejs.biome", + "[typescript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[javascript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "editor.formatOnSave": true, + "editor.formatOnType": false, + "editor.foldingImportsByDefault": true, + "editor.foldingHighlight": true, + "editor.foldingStrategy": "auto", + "files.eol": "\n" +} diff --git a/bun.lockb b/bun.lockb index b48ba0fe5f2da5eab1455c6c52882c250d52be4c..cd38838d7bbbf8056e0b677b35b9b3d6c6cdac92 100755 GIT binary patch delta 142679 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�b8GwC?snp_C7|$X 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 delta 128128 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 diff --git a/merkl.config.ts b/merkl.config.ts index 8692a1c..e23d601 100644 --- a/merkl.config.ts +++ b/merkl.config.ts @@ -1,7 +1,9 @@ import { createColoring } from "dappkit"; import { createConfig } from "src/config/type"; import hero from "src/customer/assets/images/hero.jpg?url"; +import { v4 as uuidv4 } from "uuid"; import { http, createClient, custom } from "viem"; + import { arbitrum, astar, @@ -45,7 +47,10 @@ export default createConfig({ appName: "Merkl", modes: ["dark", "light"], defaultTheme: "ignite", - deposit: false, + tags: [], + opportunityNavigationMode: "direct", + rewardsNavigationMode: "chain", + deposit: true, themes: { ignite: { base: createColoring(["#1755F4", "#FF7900", "#0D1530"], ["#1755F4", "#FF7900", "#FFFFFF"]), @@ -88,43 +93,43 @@ export default createConfig({ home: { icon: "RiHomeFill", route: "/", - key: crypto.randomUUID(), + key: uuidv4(), }, opportunities: { icon: "RiPlanetFill", route: "/opportunities", - key: crypto.randomUUID(), + key: uuidv4(), }, // protocols: { // icon: "RiVipCrown2Fill", // route: "/protocols", - // key: crypto.randomUUID(), + // key: uuidv4(), // }, // bridge: { // icon: "RiCompassesLine", // route: "/bridge", - // key: crypto.randomUUID(), + // key: uuidv4(), // }, docs: { icon: "RiFile4Fill", external: true, route: "https://docs.merkl.xyz/", - key: crypto.randomUUID(), + key: uuidv4(), }, faq: { icon: "RiQuestionFill", route: "/faq", - key: crypto.randomUUID(), + key: uuidv4(), }, // terms: { // icon: "RiCompassesLine", // route: "/terms", - // key: crypto.randomUUID(), + // key: uuidv4(), // }, // privacy: { // icon: "RiInformationFill", // route: "/privacy", - // key: crypto.randomUUID(), + // key: uuidv4(), // }, }, socials: { diff --git a/package.json b/package.json index a544342..0487924 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,13 @@ "serve": "remix-serve ./build/server/index.js", "typecheck": "tsc" }, - "workspaces": [ - "packages/*" - ], + "workspaces": ["packages/*"], "dependencies": { "@acab/ecsstatic": "^0.8.0", "@ariakit/react": "^0.4.12", "@elysiajs/eden": "^1.1.3", "@emotion/css": "^11.13.4", - "@merkl/api": "0.10.156", + "@merkl/api": "0.10.188", "@radix-ui/react-accordion": "^1.2.1", "@radix-ui/react-scroll-area": "^1.2.0", "@remix-run/dev": "^2.11.2", @@ -49,6 +47,7 @@ "tailwindcss": "^3.4.12", "tailwindcss-animate": "^1.0.7", "typedoc": "^0.26.7", + "uuid": "^11.0.3", "viem": "2.21.54", "vite-plugin-dts": "^4.2.1", "wagmi": "^2.12.29", diff --git a/packages/dappkit b/packages/dappkit index f0ae6d4..3c7c7f5 160000 --- a/packages/dappkit +++ b/packages/dappkit @@ -1 +1 @@ -Subproject commit f0ae6d458929807631f6e02a44279f4cb6d8c515 +Subproject commit 3c7c7f53ece8c9dc245be7cd12ee7e03dc847a0a diff --git a/src/api/opportunity/opportunity.ts b/src/api/opportunity/opportunity.ts deleted file mode 100644 index 5917d41..0000000 --- a/src/api/opportunity/opportunity.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { api } from "../index.server"; - -function getQueryParams( - request: Request, - overrideQuery?: Parameters[0]["query"], -) { - const status = new URL(request.url).searchParams.get("status"); - const action = new URL(request.url).searchParams.get("action"); - const chainId = new URL(request.url).searchParams.get("chain"); - const page = new URL(request.url).searchParams.get("page"); - - const items = new URL(request.url).searchParams.get("items"); - const search = new URL(request.url).searchParams.get("search"); - const [sort, order] = new URL(request.url).searchParams.get("sort")?.split("-") ?? []; - - const filters = Object.assign( - { status, action, chainId, items, sort, order, name: search, page }, - overrideQuery ?? {}, - page !== null && { page: Number(page) - 1 }, - ); - - const query = Object.entries(filters).reduce( - (_query, [key, filter]) => Object.assign(_query, filter == null ? {} : { [key]: filter }), - {}, - ); - - return query; -} - -export async function fetchOpportunities( - request: Request, - overrideQuery?: Parameters[0]["query"], -) { - const query = getQueryParams(request, overrideQuery); - - const { data: count } = await api.v4.opportunities.count.get({ query }); - const { data: opportunities } = await api.v4.opportunities.index.get({ - query, - }); - - if (count === null || !opportunities) throw "Cannot fetch opportunities"; - return { opportunities, count }; -} diff --git a/src/api/services/campaigns/campaign.service.ts b/src/api/services/campaigns/campaign.service.ts index 7ebaf94..3868862 100644 --- a/src/api/services/campaigns/campaign.service.ts +++ b/src/api/services/campaigns/campaign.service.ts @@ -29,13 +29,13 @@ export abstract class CampaignService { const action = new URL(request.url).searchParams.get("action"); const chainId = new URL(request.url).searchParams.get("chain"); const page = new URL(request.url).searchParams.get("page"); - + const test = new URL(request.url).searchParams.get("test") ?? undefined; const items = new URL(request.url).searchParams.get("items"); const search = new URL(request.url).searchParams.get("search"); const [sort, order] = new URL(request.url).searchParams.get("sort")?.split("-") ?? []; const filters = Object.assign( - { status, action, chainId, items, sort, order, name: search, page }, + { status, action, chainId, items, sort, order, name: search, page, test }, override ?? {}, page !== null && { page: Number(page) - 1 }, ); diff --git a/src/api/services/claims.service.ts b/src/api/services/claims.service.ts new file mode 100644 index 0000000..de8fcfc --- /dev/null +++ b/src/api/services/claims.service.ts @@ -0,0 +1,20 @@ +import { api } from "../index.server"; +import { fetchWithLogs } from "../utils"; + +export abstract class ClaimsService { + static async #fetch( + call: () => Promise, + resource = "Claims", + ): Promise> { + const { data, status } = await fetchWithLogs(call); + + if (status === 404) throw new Response(`${resource} not found`, { status }); + if (status === 500) throw new Response(`${resource} unavailable`, { status }); + if (data == null) throw new Response(`${resource} unavailable`, { status }); + return data; + } + + static async getForUser(address: string) { + return await ClaimsService.#fetch(async () => api.v4.claims({ address }).get()); + } +} diff --git a/src/api/services/interaction.service.ts b/src/api/services/interaction.service.ts new file mode 100644 index 0000000..3734bdc --- /dev/null +++ b/src/api/services/interaction.service.ts @@ -0,0 +1,56 @@ +import { api as clientApi } from "src/api/index.client"; +import { fetchWithLogs } from "../utils"; + +export abstract class InteractionService { + static async #fetch( + call: () => Promise, + resource = "Chain", + ): Promise> { + const { data, status } = await fetchWithLogs(call); + + if (status === 404) throw new Response(`${resource} not found`, { status }); + if (status === 500) throw new Response(`${resource} unavailable`, { status }); + if (data == null) throw new Response(`${resource} unavailable`, { status }); + return data; + } + + /** + * Client side + * @param chainId + * @param protocolId + * @param identifier + */ + static async getTarget(chainId: number, protocolId: string, identifier: string) { + const targets = await InteractionService.#fetch(() => + clientApi.v4.interaction.targets.get({ + query: { chainId, protocolId, identifier }, + }), + ); + + //TODO: opportunity/:id/target instead of taking the first result and expecting unique + return targets?.[0]; + } + + /** + * Client side + */ + static async getTransaction(payload: Parameters[0]["query"]) { + const transaction = await InteractionService.#fetch(() => + clientApi.v4.interaction.transaction.get({ + query: payload, + }), + ); + + return transaction; + } + + static async getBalances(chainId: number, address: string) { + const tokens = await InteractionService.#fetch(() => + clientApi.v4.tokens.balances.get({ + query: { chainId: chainId, userAddress: address }, + }), + ); + + return tokens; + } +} diff --git a/src/api/services/liquidity.service.ts b/src/api/services/liquidity.service.ts new file mode 100644 index 0000000..4eabd27 --- /dev/null +++ b/src/api/services/liquidity.service.ts @@ -0,0 +1,20 @@ +import { api } from "../index.server"; +import { fetchWithLogs } from "../utils"; + +export abstract class LiquidityService { + static async #fetch( + call: () => Promise, + resource = "Positions", + ): Promise> { + const { data, status } = await fetchWithLogs(call); + + if (status === 404) throw new Response(`${resource} not found`, { status }); + if (status === 500) throw new Response(`${resource} unavailable`, { status }); + if (data == null) throw new Response(`${resource} unavailable`, { status }); + return data; + } + + static async getForUser(query: Parameters["0"]["query"]) { + return await LiquidityService.#fetch(async () => api.v4.liquidity.index.get({ query })); + } +} diff --git a/src/api/services/opportunity/opportunity.service.ts b/src/api/services/opportunity/opportunity.service.ts index 14516a0..1ca78e0 100644 --- a/src/api/services/opportunity/opportunity.service.ts +++ b/src/api/services/opportunity/opportunity.service.ts @@ -40,7 +40,7 @@ export abstract class OpportunityService { //TODO: updates tags to take an array if (config.tags && !opportunityWithCampaigns.tags.includes(config.tags?.[0])) - throw new Response("Opportunity inacessible", { status: 403 }); + throw new Response("Opportunity inaccessible", { status: 403 }); return opportunityWithCampaigns; } @@ -96,6 +96,7 @@ export abstract class OpportunityService { sort: url.searchParams.get("sort")?.split("-")[0], order: url.searchParams.get("sort")?.split("-")[1], name: url.searchParams.get("search") ?? undefined, + test: url.searchParams.get("test") ?? undefined, page: url.searchParams.get("page") ? Math.max(Number(url.searchParams.get("page")) - 1, 0) : undefined, ...override, }; diff --git a/src/api/services/protocol.service.ts b/src/api/services/protocol.service.ts index 61d613a..20c901a 100644 --- a/src/api/services/protocol.service.ts +++ b/src/api/services/protocol.service.ts @@ -1,3 +1,4 @@ +import config from "merkl.config"; import { api } from "../index.server"; import { fetchWithLogs } from "../utils"; @@ -5,15 +6,28 @@ export abstract class ProtocolService { // ─── Get Many Protocols ────────────────────────────────────────────── static async get(query: Parameters[0]["query"]) { - return await ProtocolService.#fetch(async () => api.v4.protocols.index.get({ query })); + return await ProtocolService.#fetch(async () => + api.v4.protocols.index.get({ + query: Object.assign({ ...query }, config.tags?.[0] ? { tags: config.tags?.[0] } : {}), + }), + ); } // ─── Get Many Protocols from request ────────────────────────────────── static async getManyFromRequest(request: Request) { - const query = ProtocolService.#getQueryFromRequest(request); - const protocols = await ProtocolService.#fetch(async () => api.v4.protocols.index.get({ query })); - const count = await ProtocolService.#fetch(async () => api.v4.protocols.count.get({ query })); + const query: Parameters[0]["query"] = + ProtocolService.#getQueryFromRequest(request); + const protocols = await ProtocolService.#fetch(async () => + api.v4.protocols.index.get({ + query: Object.assign({ ...query }, config.tags?.[0] ? { tags: config.tags?.[0] } : {}), + }), + ); + const count = await ProtocolService.#fetch(async () => + api.v4.protocols.count.get({ + query: Object.assign({ ...query }, config.tags?.[0] ? { tags: config.tags?.[0] } : {}), + }), + ); return { protocols, count }; } diff --git a/src/api/services/reward.service.ts b/src/api/services/reward.service.ts index d72d2e2..8e0d796 100644 --- a/src/api/services/reward.service.ts +++ b/src/api/services/reward.service.ts @@ -1,42 +1,6 @@ -import type { Reward } from "@merkl/api"; import { api } from "../index.server"; import { fetchWithLogs } from "../utils"; -// Todo: Check how we should type Raw query -export type IRewards = { - amount: string; - recipient: string; - campaignId: string; - reason: string; - Token: { - id: string; - name: string; - chainId: number; - address: string; - decimals: number; - symbol: string; - icon: string; - verified: boolean; - price: number; - }; -}; -// Todo: Check how we should type Raw query -export type ITotalRewards = { - campaignId: string; - totalAmount: string; - Token: { - id: string; - name: string; - chainId: number; - address: string; - decimals: number; - symbol: string; - icon: string; - verified: boolean; - price: number; - }; -}[]; - export abstract class RewardService { static async #fetch( call: () => Promise, @@ -79,18 +43,21 @@ export abstract class RewardService { return query; } - static async getForUser(address: string): Promise { - const rewards = await RewardService.#fetch(async () => api.v4.users({ address }).rewards.full.get()); - - //TODO: add some cache here - return rewards; + static async getForUser(address: string, chainId: number) { + return await RewardService.#fetch(async () => + api.v4.users({ address }).rewards.breakdowns.get({ + query: { chainId }, + }), + ); } static async getManyFromRequest( request: Request, overrides?: Parameters[0]["query"], ) { - return RewardService.getByParams(Object.assign(RewardService.#getQueryFromRequest(request), overrides ?? {})); + return RewardService.getByParams( + Object.assign(RewardService.#getQueryFromRequest(request), overrides ?? undefined), + ); } static async getByParams(query: Parameters[0]["query"]) { @@ -106,10 +73,7 @@ export abstract class RewardService { return { count, rewards, total: amount }; } - static async total(query: { - chainId: number; - campaignId: string; - }): Promise { + static async total(query: { chainId: number; campaignId: string }) { const total = await RewardService.#fetch(async () => api.v4.rewards.total.get({ query: { @@ -119,6 +83,6 @@ export abstract class RewardService { }), ); - return total as ITotalRewards; + return total; } } diff --git a/src/components/composite/Hero.tsx b/src/components/composite/Hero.tsx index 91b6a90..5964131 100644 --- a/src/components/composite/Hero.tsx +++ b/src/components/composite/Hero.tsx @@ -3,6 +3,7 @@ import { Container, Divider, Group, Icon, type IconProps, Icons, Tabs, Text, Tit import { Button } from "dappkit"; import config from "merkl.config"; import type { PropsWithChildren, ReactNode } from "react"; +import { v4 as uuidv4 } from "uuid"; export type HeroProps = PropsWithChildren<{ icons?: IconProps[]; @@ -91,11 +92,13 @@ export default function Hero({ - {!!description && ( - - {description} - + <> + + + {description} + + )} {!!tags && {tags}} @@ -135,7 +138,7 @@ export function defaultHeroSideDatas(count: number, maxApr: number, dailyRewards ), label: "Live opportunities", - key: crypto.randomUUID(), + key: uuidv4(), }, !!dailyRewards && { data: ( @@ -144,7 +147,7 @@ export function defaultHeroSideDatas(count: number, maxApr: number, dailyRewards ), label: "Daily rewards", - key: crypto.randomUUID(), + key: uuidv4(), }, !!maxApr && { data: ( @@ -153,7 +156,7 @@ export function defaultHeroSideDatas(count: number, maxApr: number, dailyRewards ), label: "Max APR", - key: crypto.randomUUID(), + key: uuidv4(), }, ].filter(data => !!data); } diff --git a/src/components/element/apr/AprModal.tsx b/src/components/element/apr/AprModal.tsx index 96e4fb8..8511cb3 100644 --- a/src/components/element/apr/AprModal.tsx +++ b/src/components/element/apr/AprModal.tsx @@ -1,5 +1,5 @@ import type { Opportunity } from "@merkl/api"; -import { Divider, Group, PrimitiveTag, Title, Value } from "dappkit"; +import { Divider, Group, PrimitiveTag, Title, Value } from "packages/dappkit/src"; import TvlRowAllocation from "../tvl/TvlRowAllocation"; import TvlSection from "../tvl/TvlSection"; import AprSection from "./AprSection"; diff --git a/src/components/element/campaign/CampaignTableRow.tsx b/src/components/element/campaign/CampaignTableRow.tsx index d37e35a..3dce7a7 100644 --- a/src/components/element/campaign/CampaignTableRow.tsx +++ b/src/components/element/campaign/CampaignTableRow.tsx @@ -20,6 +20,7 @@ import Tooltip from "packages/dappkit/src/components/primitives/Tooltip"; import { type ReactNode, useCallback, useMemo, useState } from "react"; import type { Opportunity } from "src/api/services/opportunity/opportunity.model"; import useCampaign from "src/hooks/resources/useCampaign"; +import { v4 as uuidv4 } from "uuid"; import Chain from "../chain/Chain"; import Token from "../token/Token"; import { CampaignRow } from "./CampaignTable"; @@ -97,6 +98,7 @@ export default function CampaignTableRow({ , ], + ["Compute Chain", ], ] as const satisfies [string, ReactNode][]; return columns.map(([label, content]) => { @@ -118,7 +120,7 @@ export default function CampaignTableRow({ {...props} className={mergeClass("cursor-pointer py-4", className)} onClick={toggleIsOpen} - chainColumn={} + chainColumn={} dailyRewardsColumn={ @@ -157,7 +159,7 @@ export default function CampaignTableRow({ {rules?.map(rule => ( - + ))} diff --git a/src/components/element/historicalClaimsLibrary/HistoricalClaimsLibrary.tsx b/src/components/element/historicalClaimsLibrary/HistoricalClaimsLibrary.tsx new file mode 100644 index 0000000..980499f --- /dev/null +++ b/src/components/element/historicalClaimsLibrary/HistoricalClaimsLibrary.tsx @@ -0,0 +1,30 @@ +import { Text, Title } from "dappkit"; +import { useMemo } from "react"; +import type { ClaimsService } from "src/api/services/claims.service"; +import { v4 as uuidv4 } from "uuid"; +import LeaderboardTableRow from "./HistoricalClaimsRow"; +import { HistoricalClaimsTable } from "./HistoricalClaimsTable"; + +export type IProps = { + claims: Awaited>; +}; + +export default function HistoricalClaimsLibrary(props: IProps) { + const { claims } = props; + + const rows = useMemo(() => { + return claims?.map(claim => ); + }, [claims]); + + return ( + (index < 2 ? "bg-accent-8" : "bg-main-8")} + header={ + + Past Claims + + }> + {!!rows.length ? rows : No claim transaction found} + + ); +} diff --git a/src/components/element/historicalClaimsLibrary/HistoricalClaimsRow.tsx b/src/components/element/historicalClaimsLibrary/HistoricalClaimsRow.tsx new file mode 100644 index 0000000..eab2582 --- /dev/null +++ b/src/components/element/historicalClaimsLibrary/HistoricalClaimsRow.tsx @@ -0,0 +1,51 @@ +import { Button, type Component, Icon, mergeClass } from "dappkit"; +import Time from "packages/dappkit/src/components/primitives/Time"; +import { useWalletContext } from "packages/dappkit/src/context/Wallet.context"; +import { useMemo } from "react"; +import type { ClaimsService } from "src/api/services/claims.service"; +import Chain from "../chain/Chain"; +import Token from "../token/Token"; +import { HistoricalClaimsRow } from "./HistoricalClaimsTable"; + +export type HistoricalClaimsRowProps = Component<{ + claim: Awaited>[0]; +}>; + +export default function HistoricalClaimsTableRow({ claim, className, ...props }: HistoricalClaimsRowProps) { + const { chains } = useWalletContext(); + + const chain = useMemo(() => { + return chains?.find(c => c.id === claim.token.chainId); + }, [chains, claim]); + + const value = useMemo(() => { + return Number(claim.amount) * (claim.token.price ?? 0); + }, [claim]); + + return ( + } + tokenColumn={ + + } + dateColumn={