From 7e7a4f5adbc5a81ed9cb21c3f45763c72ea38f88 Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Tue, 4 Feb 2025 11:38:34 +0530 Subject: [PATCH 1/2] fix(web): verdict-answer-decoding --- web/src/components/Verdict/FinalDecision.tsx | 2 +- web/src/hooks/useClassicAppealContext.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/components/Verdict/FinalDecision.tsx b/web/src/components/Verdict/FinalDecision.tsx index 3191c53c8..d4bc7db65 100644 --- a/web/src/components/Verdict/FinalDecision.tsx +++ b/web/src/components/Verdict/FinalDecision.tsx @@ -99,7 +99,7 @@ const FinalDecision: React.FC = ({ arbitrable }) => { chainId: DEFAULT_CHAIN, }); const currentRuling = Number(currentRulingArray?.[0]); - const answer = populatedDisputeData?.answers?.[currentRuling! - 1]; + const answer = populatedDisputeData?.answers?.find((answer) => BigInt(answer.id) === BigInt(currentRuling ?? 0)); const rounds = votingHistory?.dispute?.rounds; const jurorRewardsDispersed = useMemo(() => Boolean(rounds?.every((round) => round.jurorRewardsDispersed)), [rounds]); const buttonText = useMemo(() => { diff --git a/web/src/hooks/useClassicAppealContext.tsx b/web/src/hooks/useClassicAppealContext.tsx index ea5b66297..85e037723 100644 --- a/web/src/hooks/useClassicAppealContext.tsx +++ b/web/src/hooks/useClassicAppealContext.tsx @@ -133,11 +133,11 @@ const getCurrentLocalRound = (dispute?: ClassicAppealQuery["dispute"]) => { }; const getOptions = (dispute?: DisputeDetails, classicDispute?: ClassicAppealQuery["dispute"]) => { - if (!dispute) return []; + if (!dispute || Object.keys(dispute).length === 0) return []; const currentLocalRound = getCurrentLocalRound(classicDispute); const classicAnswers = currentLocalRound?.answers; - const options = dispute.answers.map((answer) => { + const options = dispute.answers?.map((answer) => { const classicAnswer = classicAnswers?.find((classicAnswer) => BigInt(classicAnswer.answerId) == BigInt(answer.id)); // converting hexadecimal id to stringified bigint to match id fomr subgraph return { From 1671d34878603764f722a5749177396ce591166e Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Tue, 4 Feb 2025 20:26:13 +0530 Subject: [PATCH 2/2] fix(web): nan-current-ruling --- web/src/components/Verdict/FinalDecision.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/web/src/components/Verdict/FinalDecision.tsx b/web/src/components/Verdict/FinalDecision.tsx index d4bc7db65..d58a216ce 100644 --- a/web/src/components/Verdict/FinalDecision.tsx +++ b/web/src/components/Verdict/FinalDecision.tsx @@ -93,13 +93,14 @@ const FinalDecision: React.FC = ({ arbitrable }) => { const localRounds = getLocalRounds(votingHistory?.dispute?.disputeKitDispute); const ruled = disputeDetails?.dispute?.ruled ?? false; const periodIndex = Periods[disputeDetails?.dispute?.period ?? "evidence"]; - const { data: currentRulingArray } = useReadKlerosCoreCurrentRuling({ + const { data: currentRulingArray, isLoading: isLoadingCurrentRuling } = useReadKlerosCoreCurrentRuling({ query: { refetchInterval: REFETCH_INTERVAL }, args: [BigInt(id ?? 0)], chainId: DEFAULT_CHAIN, }); - const currentRuling = Number(currentRulingArray?.[0]); - const answer = populatedDisputeData?.answers?.find((answer) => BigInt(answer.id) === BigInt(currentRuling ?? 0)); + const currentRuling = Number(currentRulingArray?.[0] ?? 0); + + const answer = populatedDisputeData?.answers?.find((answer) => BigInt(answer.id) === BigInt(currentRuling)); const rounds = votingHistory?.dispute?.rounds; const jurorRewardsDispersed = useMemo(() => Boolean(rounds?.every((round) => round.jurorRewardsDispersed)), [rounds]); const buttonText = useMemo(() => { @@ -122,13 +123,21 @@ const FinalDecision: React.FC = ({ arbitrable }) => { {ruled && ( The jury decided in favor of: - + {isLoadingCurrentRuling ? ( + + ) : ( + + )} )} {!ruled && periodIndex > 1 && localRounds?.at(localRounds.length - 1)?.totalVoted > 0 && ( This option is winning: - + {isLoadingCurrentRuling ? ( + + ) : ( + + )} )}