diff --git a/web/codegen.yaml b/web/codegen.yaml index 9a47307ab..e865e7646 100644 --- a/web/codegen.yaml +++ b/web/codegen.yaml @@ -1,4 +1,4 @@ -schema: https://api.thegraph.com/subgraphs/name/alcercu/kleros-core +schema: https://api.thegraph.com/subgraphs/name/alcercu/kleroscoretest documents: './src/hooks/queries/*.ts' generates: src/graphql/generated.ts: diff --git a/web/package.json b/web/package.json index 590eb7fd9..21cf2dd13 100644 --- a/web/package.json +++ b/web/package.json @@ -32,9 +32,9 @@ "generate": "graphql-codegen" }, "devDependencies": { - "@parcel/transformer-svg-react": "^2.7.0", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.6", + "@parcel/transformer-svg-react": "^2.8.2", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.10", "@types/styled-components": "^5.1.26", "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.43.0", @@ -49,7 +49,7 @@ "eslint-plugin-security": "^1.4.0", "eslint-utils": "^3.0.0", "lru-cache": "^7.8.0", - "parcel": "^2.7.0", + "parcel": "^2.8.2", "prettier": "^2.5.1", "typescript": "^4.5.5" }, @@ -79,6 +79,7 @@ "react-loading-skeleton": "^3.1.0", "react-modal": "^3.16.1", "react-router-dom": "^6.4.2", + "react-use": "^17.4.0", "styled-components": "^5.3.6", "swr": "^1.3.0" }, diff --git a/web/src/app.tsx b/web/src/app.tsx index c45c47017..3af399530 100644 --- a/web/src/app.tsx +++ b/web/src/app.tsx @@ -14,7 +14,7 @@ import Dashboard from "./pages/Dashboard"; const fetcherBuilder = (url: string) => ({ query, variables }: { query: string; variables?: any }) => { - console.log("fetching subgraph"); + console.log("fetching subgraph", query, variables); return request(url, query, variables); }; @@ -24,7 +24,7 @@ const App: React.FC = () => { diff --git a/web/src/assets/svgs/icons/gavel.svg b/web/src/assets/svgs/icons/gavel.svg new file mode 100644 index 000000000..09a015734 --- /dev/null +++ b/web/src/assets/svgs/icons/gavel.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/src/components/DisputeCard/DisputeInfo.tsx b/web/src/components/DisputeCard/DisputeInfo.tsx index 327096d96..7a303f6a1 100644 --- a/web/src/components/DisputeCard/DisputeInfo.tsx +++ b/web/src/components/DisputeCard/DisputeInfo.tsx @@ -45,11 +45,11 @@ const Container = styled.div` const getPeriodPhrase = (period: Periods) => { switch (period) { - case Periods.Evidence: + case Periods.evidence: return "Voting Starts"; - case Periods.Appeal: + case Periods.appeal: return "Appeal Deadline"; - case Periods.Execution: + case Periods.execution: return "Final Decision"; default: return "Voting Deadline"; diff --git a/web/src/components/DisputeCard/PeriodBanner.tsx b/web/src/components/DisputeCard/PeriodBanner.tsx index 4d22fa41e..7e1ee779f 100644 --- a/web/src/components/DisputeCard/PeriodBanner.tsx +++ b/web/src/components/DisputeCard/PeriodBanner.tsx @@ -9,9 +9,9 @@ export interface IPeriodBanner { const getPeriodColors = (period: Periods, theme: Theme): [string, string] => { switch (period) { - case Periods.Appeal: + case Periods.appeal: return [theme.tint, theme.tintMedium]; - case Periods.Execution: + case Periods.execution: return [theme.secondaryPurple, theme.mediumPurple]; default: return [theme.primaryBlue, theme.mediumBlue]; @@ -56,9 +56,9 @@ const Container = styled.div>` const getPeriodLabel = (period: Periods) => { switch (period) { - case Periods.Appeal: + case Periods.appeal: return "Crowdfunding Appeal"; - case Periods.Execution: + case Periods.execution: return "Closed"; default: return "In Progress"; diff --git a/web/src/components/DisputeCard/index.tsx b/web/src/components/DisputeCard/index.tsx index 5d0cfd234..28dd52b58 100644 --- a/web/src/components/DisputeCard/index.tsx +++ b/web/src/components/DisputeCard/index.tsx @@ -44,21 +44,17 @@ const DisputeCard: React.FC = ({ arbitrated, period, lastPeriodChange, - courtID, + court, }) => { const currentPeriodIndex = Periods[period]; - const rewards = `≥ ${utils.formatEther(courtID.feeForJuror)} ETH`; + const rewards = `≥ ${utils.formatEther(court.feeForJuror)} ETH`; const date = currentPeriodIndex === 4 ? lastPeriodChange - : getTimeLeft( - lastPeriodChange, - currentPeriodIndex, - courtID.timesPerPeriod - ); - const { data: metaEvidence } = useGetMetaEvidence(id, arbitrated); + : getTimeLeft(lastPeriodChange, currentPeriodIndex, court.timesPerPeriod); + const { data: metaEvidence } = useGetMetaEvidence(id, arbitrated.id); const title = metaEvidence ? metaEvidence.title : ; - const { data: courtPolicyPath } = useCourtPolicy(parseInt(courtID.id)); + const { data: courtPolicyPath } = useCourtPolicy(court.id); const { data: courtPolicy } = useIPFSQuery(courtPolicyPath?.args._policy); const courtName = courtPolicy?.name; const category = metaEvidence ? metaEvidence.category : undefined; diff --git a/web/src/consts/periods.ts b/web/src/consts/periods.ts index 0923f101b..7a6a1b56d 100644 --- a/web/src/consts/periods.ts +++ b/web/src/consts/periods.ts @@ -1,7 +1,7 @@ export enum Periods { - Evidence, - Commit, - Vote, - Appeal, - Execution, + evidence, + commit, + vote, + appeal, + execution, } diff --git a/web/src/graphql/generated.ts b/web/src/graphql/generated.ts index 0af901d08..ceea65a55 100644 --- a/web/src/graphql/generated.ts +++ b/web/src/graphql/generated.ts @@ -21,15 +21,25 @@ export type Scalars = { Bytes: any; }; -export type ActiveJurorsDataPoint = { - __typename?: "ActiveJurorsDataPoint"; +export type Arbitrable = { + __typename?: "Arbitrable"; + disputes: Array; id: Scalars["ID"]; - value: Scalars["BigInt"]; + totalDisputes: Scalars["BigInt"]; +}; + +export type ArbitrableDisputesArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; }; -export type ActiveJurorsDataPoint_Filter = { +export type Arbitrable_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; + disputes_?: InputMaybe; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -38,19 +48,20 @@ export type ActiveJurorsDataPoint_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; + totalDisputes?: InputMaybe; + totalDisputes_gt?: InputMaybe; + totalDisputes_gte?: InputMaybe; + totalDisputes_in?: InputMaybe>; + totalDisputes_lt?: InputMaybe; + totalDisputes_lte?: InputMaybe; + totalDisputes_not?: InputMaybe; + totalDisputes_not_in?: InputMaybe>; }; -export enum ActiveJurorsDataPoint_OrderBy { +export enum Arbitrable_OrderBy { + Disputes = "disputes", Id = "id", - Value = "value", + TotalDisputes = "totalDisputes", } export type BlockChangedFilter = { @@ -63,15 +74,667 @@ export type Block_Height = { number_gte?: InputMaybe; }; -export type CasesDataPoint = { - __typename?: "CasesDataPoint"; +export type ClassicContribution = Contribution & { + __typename?: "ClassicContribution"; + amount: Scalars["BigInt"]; + choice: Scalars["BigInt"]; + contributor: User; + coreDispute: Dispute; + id: Scalars["ID"]; + localRound: ClassicRound; + rewardWithdrawn: Scalars["Boolean"]; +}; + +export type ClassicContribution_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + amount?: InputMaybe; + amount_gt?: InputMaybe; + amount_gte?: InputMaybe; + amount_in?: InputMaybe>; + amount_lt?: InputMaybe; + amount_lte?: InputMaybe; + amount_not?: InputMaybe; + amount_not_in?: InputMaybe>; + choice?: InputMaybe; + choice_gt?: InputMaybe; + choice_gte?: InputMaybe; + choice_in?: InputMaybe>; + choice_lt?: InputMaybe; + choice_lte?: InputMaybe; + choice_not?: InputMaybe; + choice_not_in?: InputMaybe>; + contributor?: InputMaybe; + contributor_?: InputMaybe; + contributor_contains?: InputMaybe; + contributor_contains_nocase?: InputMaybe; + contributor_ends_with?: InputMaybe; + contributor_ends_with_nocase?: InputMaybe; + contributor_gt?: InputMaybe; + contributor_gte?: InputMaybe; + contributor_in?: InputMaybe>; + contributor_lt?: InputMaybe; + contributor_lte?: InputMaybe; + contributor_not?: InputMaybe; + contributor_not_contains?: InputMaybe; + contributor_not_contains_nocase?: InputMaybe; + contributor_not_ends_with?: InputMaybe; + contributor_not_ends_with_nocase?: InputMaybe; + contributor_not_in?: InputMaybe>; + contributor_not_starts_with?: InputMaybe; + contributor_not_starts_with_nocase?: InputMaybe; + contributor_starts_with?: InputMaybe; + contributor_starts_with_nocase?: InputMaybe; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + localRound?: InputMaybe; + localRound_?: InputMaybe; + localRound_contains?: InputMaybe; + localRound_contains_nocase?: InputMaybe; + localRound_ends_with?: InputMaybe; + localRound_ends_with_nocase?: InputMaybe; + localRound_gt?: InputMaybe; + localRound_gte?: InputMaybe; + localRound_in?: InputMaybe>; + localRound_lt?: InputMaybe; + localRound_lte?: InputMaybe; + localRound_not?: InputMaybe; + localRound_not_contains?: InputMaybe; + localRound_not_contains_nocase?: InputMaybe; + localRound_not_ends_with?: InputMaybe; + localRound_not_ends_with_nocase?: InputMaybe; + localRound_not_in?: InputMaybe>; + localRound_not_starts_with?: InputMaybe; + localRound_not_starts_with_nocase?: InputMaybe; + localRound_starts_with?: InputMaybe; + localRound_starts_with_nocase?: InputMaybe; + rewardWithdrawn?: InputMaybe; + rewardWithdrawn_in?: InputMaybe>; + rewardWithdrawn_not?: InputMaybe; + rewardWithdrawn_not_in?: InputMaybe>; +}; + +export enum ClassicContribution_OrderBy { + Amount = "amount", + Choice = "choice", + Contributor = "contributor", + CoreDispute = "coreDispute", + Id = "id", + LocalRound = "localRound", + RewardWithdrawn = "rewardWithdrawn", +} + +export type ClassicDispute = DisputeKitDispute & { + __typename?: "ClassicDispute"; + coreDispute: Dispute; + currentLocalRoundIndex: Scalars["BigInt"]; + extraData: Scalars["Bytes"]; + id: Scalars["ID"]; + jumped: Scalars["Boolean"]; + localRounds: Array; + numberOfChoices: Scalars["BigInt"]; +}; + +export type ClassicDisputeLocalRoundsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type ClassicDispute_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; + currentLocalRoundIndex?: InputMaybe; + currentLocalRoundIndex_gt?: InputMaybe; + currentLocalRoundIndex_gte?: InputMaybe; + currentLocalRoundIndex_in?: InputMaybe>; + currentLocalRoundIndex_lt?: InputMaybe; + currentLocalRoundIndex_lte?: InputMaybe; + currentLocalRoundIndex_not?: InputMaybe; + currentLocalRoundIndex_not_in?: InputMaybe>; + extraData?: InputMaybe; + extraData_contains?: InputMaybe; + extraData_gt?: InputMaybe; + extraData_gte?: InputMaybe; + extraData_in?: InputMaybe>; + extraData_lt?: InputMaybe; + extraData_lte?: InputMaybe; + extraData_not?: InputMaybe; + extraData_not_contains?: InputMaybe; + extraData_not_in?: InputMaybe>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + jumped?: InputMaybe; + jumped_in?: InputMaybe>; + jumped_not?: InputMaybe; + jumped_not_in?: InputMaybe>; + localRounds_?: InputMaybe; + numberOfChoices?: InputMaybe; + numberOfChoices_gt?: InputMaybe; + numberOfChoices_gte?: InputMaybe; + numberOfChoices_in?: InputMaybe>; + numberOfChoices_lt?: InputMaybe; + numberOfChoices_lte?: InputMaybe; + numberOfChoices_not?: InputMaybe; + numberOfChoices_not_in?: InputMaybe>; +}; + +export enum ClassicDispute_OrderBy { + CoreDispute = "coreDispute", + CurrentLocalRoundIndex = "currentLocalRoundIndex", + ExtraData = "extraData", + Id = "id", + Jumped = "jumped", + LocalRounds = "localRounds", + NumberOfChoices = "numberOfChoices", +} + +export type ClassicEvidence = Evidence & { + __typename?: "ClassicEvidence"; + evidence: Scalars["String"]; + evidenceGroup: EvidenceGroup; + id: Scalars["ID"]; + sender: User; +}; + +export type ClassicEvidenceGroup = EvidenceGroup & { + __typename?: "ClassicEvidenceGroup"; + evidences: Array; + id: Scalars["ID"]; + nextEvidenceIndex: Scalars["BigInt"]; +}; + +export type ClassicEvidenceGroupEvidencesArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type ClassicEvidenceGroup_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + evidences_?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + nextEvidenceIndex?: InputMaybe; + nextEvidenceIndex_gt?: InputMaybe; + nextEvidenceIndex_gte?: InputMaybe; + nextEvidenceIndex_in?: InputMaybe>; + nextEvidenceIndex_lt?: InputMaybe; + nextEvidenceIndex_lte?: InputMaybe; + nextEvidenceIndex_not?: InputMaybe; + nextEvidenceIndex_not_in?: InputMaybe>; +}; + +export enum ClassicEvidenceGroup_OrderBy { + Evidences = "evidences", + Id = "id", + NextEvidenceIndex = "nextEvidenceIndex", +} + +export type ClassicEvidence_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + evidence?: InputMaybe; + evidenceGroup?: InputMaybe; + evidenceGroup_?: InputMaybe; + evidenceGroup_contains?: InputMaybe; + evidenceGroup_contains_nocase?: InputMaybe; + evidenceGroup_ends_with?: InputMaybe; + evidenceGroup_ends_with_nocase?: InputMaybe; + evidenceGroup_gt?: InputMaybe; + evidenceGroup_gte?: InputMaybe; + evidenceGroup_in?: InputMaybe>; + evidenceGroup_lt?: InputMaybe; + evidenceGroup_lte?: InputMaybe; + evidenceGroup_not?: InputMaybe; + evidenceGroup_not_contains?: InputMaybe; + evidenceGroup_not_contains_nocase?: InputMaybe; + evidenceGroup_not_ends_with?: InputMaybe; + evidenceGroup_not_ends_with_nocase?: InputMaybe; + evidenceGroup_not_in?: InputMaybe>; + evidenceGroup_not_starts_with?: InputMaybe; + evidenceGroup_not_starts_with_nocase?: InputMaybe; + evidenceGroup_starts_with?: InputMaybe; + evidenceGroup_starts_with_nocase?: InputMaybe; + evidence_contains?: InputMaybe; + evidence_contains_nocase?: InputMaybe; + evidence_ends_with?: InputMaybe; + evidence_ends_with_nocase?: InputMaybe; + evidence_gt?: InputMaybe; + evidence_gte?: InputMaybe; + evidence_in?: InputMaybe>; + evidence_lt?: InputMaybe; + evidence_lte?: InputMaybe; + evidence_not?: InputMaybe; + evidence_not_contains?: InputMaybe; + evidence_not_contains_nocase?: InputMaybe; + evidence_not_ends_with?: InputMaybe; + evidence_not_ends_with_nocase?: InputMaybe; + evidence_not_in?: InputMaybe>; + evidence_not_starts_with?: InputMaybe; + evidence_not_starts_with_nocase?: InputMaybe; + evidence_starts_with?: InputMaybe; + evidence_starts_with_nocase?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + sender?: InputMaybe; + sender_?: InputMaybe; + sender_contains?: InputMaybe; + sender_contains_nocase?: InputMaybe; + sender_ends_with?: InputMaybe; + sender_ends_with_nocase?: InputMaybe; + sender_gt?: InputMaybe; + sender_gte?: InputMaybe; + sender_in?: InputMaybe>; + sender_lt?: InputMaybe; + sender_lte?: InputMaybe; + sender_not?: InputMaybe; + sender_not_contains?: InputMaybe; + sender_not_contains_nocase?: InputMaybe; + sender_not_ends_with?: InputMaybe; + sender_not_ends_with_nocase?: InputMaybe; + sender_not_in?: InputMaybe>; + sender_not_starts_with?: InputMaybe; + sender_not_starts_with_nocase?: InputMaybe; + sender_starts_with?: InputMaybe; + sender_starts_with_nocase?: InputMaybe; +}; + +export enum ClassicEvidence_OrderBy { + Evidence = "evidence", + EvidenceGroup = "evidenceGroup", + Id = "id", + Sender = "sender", +} + +export type ClassicRound = DisputeKitRound & { + __typename?: "ClassicRound"; + contributions: Array; + counts: Array; + feeRewards: Scalars["BigInt"]; + fundedChoices: Array; + id: Scalars["ID"]; + localDispute: DisputeKitDispute; + paidFees: Array; + tied: Scalars["Boolean"]; + totalCommited: Scalars["BigInt"]; + totalVoted: Scalars["BigInt"]; + votes: Array; + winningChoice: Scalars["BigInt"]; +}; + +export type ClassicRoundContributionsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type ClassicRoundVotesArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type ClassicRound_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + contributions_?: InputMaybe; + counts?: InputMaybe>; + counts_contains?: InputMaybe>; + counts_contains_nocase?: InputMaybe>; + counts_not?: InputMaybe>; + counts_not_contains?: InputMaybe>; + counts_not_contains_nocase?: InputMaybe>; + feeRewards?: InputMaybe; + feeRewards_gt?: InputMaybe; + feeRewards_gte?: InputMaybe; + feeRewards_in?: InputMaybe>; + feeRewards_lt?: InputMaybe; + feeRewards_lte?: InputMaybe; + feeRewards_not?: InputMaybe; + feeRewards_not_in?: InputMaybe>; + fundedChoices?: InputMaybe>; + fundedChoices_contains?: InputMaybe>; + fundedChoices_contains_nocase?: InputMaybe>; + fundedChoices_not?: InputMaybe>; + fundedChoices_not_contains?: InputMaybe>; + fundedChoices_not_contains_nocase?: InputMaybe>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + localDispute?: InputMaybe; + localDispute_?: InputMaybe; + localDispute_contains?: InputMaybe; + localDispute_contains_nocase?: InputMaybe; + localDispute_ends_with?: InputMaybe; + localDispute_ends_with_nocase?: InputMaybe; + localDispute_gt?: InputMaybe; + localDispute_gte?: InputMaybe; + localDispute_in?: InputMaybe>; + localDispute_lt?: InputMaybe; + localDispute_lte?: InputMaybe; + localDispute_not?: InputMaybe; + localDispute_not_contains?: InputMaybe; + localDispute_not_contains_nocase?: InputMaybe; + localDispute_not_ends_with?: InputMaybe; + localDispute_not_ends_with_nocase?: InputMaybe; + localDispute_not_in?: InputMaybe>; + localDispute_not_starts_with?: InputMaybe; + localDispute_not_starts_with_nocase?: InputMaybe; + localDispute_starts_with?: InputMaybe; + localDispute_starts_with_nocase?: InputMaybe; + paidFees?: InputMaybe>; + paidFees_contains?: InputMaybe>; + paidFees_contains_nocase?: InputMaybe>; + paidFees_not?: InputMaybe>; + paidFees_not_contains?: InputMaybe>; + paidFees_not_contains_nocase?: InputMaybe>; + tied?: InputMaybe; + tied_in?: InputMaybe>; + tied_not?: InputMaybe; + tied_not_in?: InputMaybe>; + totalCommited?: InputMaybe; + totalCommited_gt?: InputMaybe; + totalCommited_gte?: InputMaybe; + totalCommited_in?: InputMaybe>; + totalCommited_lt?: InputMaybe; + totalCommited_lte?: InputMaybe; + totalCommited_not?: InputMaybe; + totalCommited_not_in?: InputMaybe>; + totalVoted?: InputMaybe; + totalVoted_gt?: InputMaybe; + totalVoted_gte?: InputMaybe; + totalVoted_in?: InputMaybe>; + totalVoted_lt?: InputMaybe; + totalVoted_lte?: InputMaybe; + totalVoted_not?: InputMaybe; + totalVoted_not_in?: InputMaybe>; + votes?: InputMaybe>; + votes_?: InputMaybe; + votes_contains?: InputMaybe>; + votes_contains_nocase?: InputMaybe>; + votes_not?: InputMaybe>; + votes_not_contains?: InputMaybe>; + votes_not_contains_nocase?: InputMaybe>; + winningChoice?: InputMaybe; + winningChoice_gt?: InputMaybe; + winningChoice_gte?: InputMaybe; + winningChoice_in?: InputMaybe>; + winningChoice_lt?: InputMaybe; + winningChoice_lte?: InputMaybe; + winningChoice_not?: InputMaybe; + winningChoice_not_in?: InputMaybe>; +}; + +export enum ClassicRound_OrderBy { + Contributions = "contributions", + Counts = "counts", + FeeRewards = "feeRewards", + FundedChoices = "fundedChoices", + Id = "id", + LocalDispute = "localDispute", + PaidFees = "paidFees", + Tied = "tied", + TotalCommited = "totalCommited", + TotalVoted = "totalVoted", + Votes = "votes", + WinningChoice = "winningChoice", +} + +export type ClassicVote = Vote & { + __typename?: "ClassicVote"; + choice: Scalars["BigInt"]; + coreDispute: Dispute; + id: Scalars["ID"]; + juror: User; + justification: Scalars["String"]; + localRound: DisputeKitRound; +}; + +export type ClassicVote_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + choice?: InputMaybe; + choice_gt?: InputMaybe; + choice_gte?: InputMaybe; + choice_in?: InputMaybe>; + choice_lt?: InputMaybe; + choice_lte?: InputMaybe; + choice_not?: InputMaybe; + choice_not_in?: InputMaybe>; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + juror?: InputMaybe; + juror_?: InputMaybe; + juror_contains?: InputMaybe; + juror_contains_nocase?: InputMaybe; + juror_ends_with?: InputMaybe; + juror_ends_with_nocase?: InputMaybe; + juror_gt?: InputMaybe; + juror_gte?: InputMaybe; + juror_in?: InputMaybe>; + juror_lt?: InputMaybe; + juror_lte?: InputMaybe; + juror_not?: InputMaybe; + juror_not_contains?: InputMaybe; + juror_not_contains_nocase?: InputMaybe; + juror_not_ends_with?: InputMaybe; + juror_not_ends_with_nocase?: InputMaybe; + juror_not_in?: InputMaybe>; + juror_not_starts_with?: InputMaybe; + juror_not_starts_with_nocase?: InputMaybe; + juror_starts_with?: InputMaybe; + juror_starts_with_nocase?: InputMaybe; + justification?: InputMaybe; + justification_contains?: InputMaybe; + justification_contains_nocase?: InputMaybe; + justification_ends_with?: InputMaybe; + justification_ends_with_nocase?: InputMaybe; + justification_gt?: InputMaybe; + justification_gte?: InputMaybe; + justification_in?: InputMaybe>; + justification_lt?: InputMaybe; + justification_lte?: InputMaybe; + justification_not?: InputMaybe; + justification_not_contains?: InputMaybe; + justification_not_contains_nocase?: InputMaybe; + justification_not_ends_with?: InputMaybe; + justification_not_ends_with_nocase?: InputMaybe; + justification_not_in?: InputMaybe>; + justification_not_starts_with?: InputMaybe; + justification_not_starts_with_nocase?: InputMaybe; + justification_starts_with?: InputMaybe; + justification_starts_with_nocase?: InputMaybe; + localRound?: InputMaybe; + localRound_?: InputMaybe; + localRound_contains?: InputMaybe; + localRound_contains_nocase?: InputMaybe; + localRound_ends_with?: InputMaybe; + localRound_ends_with_nocase?: InputMaybe; + localRound_gt?: InputMaybe; + localRound_gte?: InputMaybe; + localRound_in?: InputMaybe>; + localRound_lt?: InputMaybe; + localRound_lte?: InputMaybe; + localRound_not?: InputMaybe; + localRound_not_contains?: InputMaybe; + localRound_not_contains_nocase?: InputMaybe; + localRound_not_ends_with?: InputMaybe; + localRound_not_ends_with_nocase?: InputMaybe; + localRound_not_in?: InputMaybe>; + localRound_not_starts_with?: InputMaybe; + localRound_not_starts_with_nocase?: InputMaybe; + localRound_starts_with?: InputMaybe; + localRound_starts_with_nocase?: InputMaybe; +}; + +export enum ClassicVote_OrderBy { + Choice = "choice", + CoreDispute = "coreDispute", + Id = "id", + Juror = "juror", + Justification = "justification", + LocalRound = "localRound", +} + +export type Contribution = { + contributor: User; + coreDispute: Dispute; id: Scalars["ID"]; - value: Scalars["BigInt"]; }; -export type CasesDataPoint_Filter = { +export type Contribution_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; + contributor?: InputMaybe; + contributor_?: InputMaybe; + contributor_contains?: InputMaybe; + contributor_contains_nocase?: InputMaybe; + contributor_ends_with?: InputMaybe; + contributor_ends_with_nocase?: InputMaybe; + contributor_gt?: InputMaybe; + contributor_gte?: InputMaybe; + contributor_in?: InputMaybe>; + contributor_lt?: InputMaybe; + contributor_lte?: InputMaybe; + contributor_not?: InputMaybe; + contributor_not_contains?: InputMaybe; + contributor_not_contains_nocase?: InputMaybe; + contributor_not_ends_with?: InputMaybe; + contributor_not_ends_with_nocase?: InputMaybe; + contributor_not_in?: InputMaybe>; + contributor_not_starts_with?: InputMaybe; + contributor_not_starts_with_nocase?: InputMaybe; + contributor_starts_with?: InputMaybe; + contributor_starts_with_nocase?: InputMaybe; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -80,19 +743,104 @@ export type CasesDataPoint_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; }; -export enum CasesDataPoint_OrderBy { +export enum Contribution_OrderBy { + Contributor = "contributor", + CoreDispute = "coreDispute", Id = "id", - Value = "value", +} + +export type Counter = { + __typename?: "Counter"; + activeJurors: Scalars["BigInt"]; + cases: Scalars["BigInt"]; + casesRuled: Scalars["BigInt"]; + casesVoting: Scalars["BigInt"]; + id: Scalars["ID"]; + paidETH: Scalars["BigInt"]; + redistributedPNK: Scalars["BigInt"]; + stakedPNK: Scalars["BigInt"]; +}; + +export type Counter_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + activeJurors?: InputMaybe; + activeJurors_gt?: InputMaybe; + activeJurors_gte?: InputMaybe; + activeJurors_in?: InputMaybe>; + activeJurors_lt?: InputMaybe; + activeJurors_lte?: InputMaybe; + activeJurors_not?: InputMaybe; + activeJurors_not_in?: InputMaybe>; + cases?: InputMaybe; + casesRuled?: InputMaybe; + casesRuled_gt?: InputMaybe; + casesRuled_gte?: InputMaybe; + casesRuled_in?: InputMaybe>; + casesRuled_lt?: InputMaybe; + casesRuled_lte?: InputMaybe; + casesRuled_not?: InputMaybe; + casesRuled_not_in?: InputMaybe>; + casesVoting?: InputMaybe; + casesVoting_gt?: InputMaybe; + casesVoting_gte?: InputMaybe; + casesVoting_in?: InputMaybe>; + casesVoting_lt?: InputMaybe; + casesVoting_lte?: InputMaybe; + casesVoting_not?: InputMaybe; + casesVoting_not_in?: InputMaybe>; + cases_gt?: InputMaybe; + cases_gte?: InputMaybe; + cases_in?: InputMaybe>; + cases_lt?: InputMaybe; + cases_lte?: InputMaybe; + cases_not?: InputMaybe; + cases_not_in?: InputMaybe>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + paidETH?: InputMaybe; + paidETH_gt?: InputMaybe; + paidETH_gte?: InputMaybe; + paidETH_in?: InputMaybe>; + paidETH_lt?: InputMaybe; + paidETH_lte?: InputMaybe; + paidETH_not?: InputMaybe; + paidETH_not_in?: InputMaybe>; + redistributedPNK?: InputMaybe; + redistributedPNK_gt?: InputMaybe; + redistributedPNK_gte?: InputMaybe; + redistributedPNK_in?: InputMaybe>; + redistributedPNK_lt?: InputMaybe; + redistributedPNK_lte?: InputMaybe; + redistributedPNK_not?: InputMaybe; + redistributedPNK_not_in?: InputMaybe>; + stakedPNK?: InputMaybe; + stakedPNK_gt?: InputMaybe; + stakedPNK_gte?: InputMaybe; + stakedPNK_in?: InputMaybe>; + stakedPNK_lt?: InputMaybe; + stakedPNK_lte?: InputMaybe; + stakedPNK_not?: InputMaybe; + stakedPNK_not_in?: InputMaybe>; +}; + +export enum Counter_OrderBy { + ActiveJurors = "activeJurors", + Cases = "cases", + CasesRuled = "casesRuled", + CasesVoting = "casesVoting", + Id = "id", + PaidEth = "paidETH", + RedistributedPnk = "redistributedPNK", + StakedPnk = "stakedPNK", } export type Court = { @@ -105,12 +853,17 @@ export type Court = { id: Scalars["ID"]; jurorsForCourtJump: Scalars["BigInt"]; minStake: Scalars["BigInt"]; + name?: Maybe; + numberDisputes: Scalars["BigInt"]; + numberStakedJurors: Scalars["BigInt"]; + paidETH: Scalars["BigInt"]; + paidPNK: Scalars["BigInt"]; parent?: Maybe; policy?: Maybe; - stakedJurors: Array; + stake: Scalars["BigInt"]; + stakedJurors: Array; supportedDisputeKits: Array; timesPerPeriod: Array; - tokens: Array; }; export type CourtChildrenArgs = { @@ -131,10 +884,10 @@ export type CourtDisputesArgs = { export type CourtStakedJurorsArgs = { first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; - where?: InputMaybe; + where?: InputMaybe; }; export type CourtSupportedDisputeKitsArgs = { @@ -145,14 +898,6 @@ export type CourtSupportedDisputeKitsArgs = { where?: InputMaybe; }; -export type CourtTokensArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - export type Court_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; @@ -202,6 +947,58 @@ export type Court_Filter = { minStake_lte?: InputMaybe; minStake_not?: InputMaybe; minStake_not_in?: InputMaybe>; + name?: InputMaybe; + name_contains?: InputMaybe; + name_contains_nocase?: InputMaybe; + name_ends_with?: InputMaybe; + name_ends_with_nocase?: InputMaybe; + name_gt?: InputMaybe; + name_gte?: InputMaybe; + name_in?: InputMaybe>; + name_lt?: InputMaybe; + name_lte?: InputMaybe; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_contains_nocase?: InputMaybe; + name_not_ends_with?: InputMaybe; + name_not_ends_with_nocase?: InputMaybe; + name_not_in?: InputMaybe>; + name_not_starts_with?: InputMaybe; + name_not_starts_with_nocase?: InputMaybe; + name_starts_with?: InputMaybe; + name_starts_with_nocase?: InputMaybe; + numberDisputes?: InputMaybe; + numberDisputes_gt?: InputMaybe; + numberDisputes_gte?: InputMaybe; + numberDisputes_in?: InputMaybe>; + numberDisputes_lt?: InputMaybe; + numberDisputes_lte?: InputMaybe; + numberDisputes_not?: InputMaybe; + numberDisputes_not_in?: InputMaybe>; + numberStakedJurors?: InputMaybe; + numberStakedJurors_gt?: InputMaybe; + numberStakedJurors_gte?: InputMaybe; + numberStakedJurors_in?: InputMaybe>; + numberStakedJurors_lt?: InputMaybe; + numberStakedJurors_lte?: InputMaybe; + numberStakedJurors_not?: InputMaybe; + numberStakedJurors_not_in?: InputMaybe>; + paidETH?: InputMaybe; + paidETH_gt?: InputMaybe; + paidETH_gte?: InputMaybe; + paidETH_in?: InputMaybe>; + paidETH_lt?: InputMaybe; + paidETH_lte?: InputMaybe; + paidETH_not?: InputMaybe; + paidETH_not_in?: InputMaybe>; + paidPNK?: InputMaybe; + paidPNK_gt?: InputMaybe; + paidPNK_gte?: InputMaybe; + paidPNK_in?: InputMaybe>; + paidPNK_lt?: InputMaybe; + paidPNK_lte?: InputMaybe; + paidPNK_not?: InputMaybe; + paidPNK_not_in?: InputMaybe>; parent?: InputMaybe; parent_?: InputMaybe; parent_contains?: InputMaybe; @@ -243,7 +1040,15 @@ export type Court_Filter = { policy_not_starts_with_nocase?: InputMaybe; policy_starts_with?: InputMaybe; policy_starts_with_nocase?: InputMaybe; - stakedJurors_?: InputMaybe; + stake?: InputMaybe; + stake_gt?: InputMaybe; + stake_gte?: InputMaybe; + stake_in?: InputMaybe>; + stake_lt?: InputMaybe; + stake_lte?: InputMaybe; + stake_not?: InputMaybe; + stake_not_in?: InputMaybe>; + stakedJurors_?: InputMaybe; supportedDisputeKits?: InputMaybe>; supportedDisputeKits_?: InputMaybe; supportedDisputeKits_contains?: InputMaybe>; @@ -259,7 +1064,6 @@ export type Court_Filter = { timesPerPeriod_not?: InputMaybe>; timesPerPeriod_not_contains?: InputMaybe>; timesPerPeriod_not_contains_nocase?: InputMaybe>; - tokens_?: InputMaybe; }; export enum Court_OrderBy { @@ -271,36 +1075,32 @@ export enum Court_OrderBy { Id = "id", JurorsForCourtJump = "jurorsForCourtJump", MinStake = "minStake", + Name = "name", + NumberDisputes = "numberDisputes", + NumberStakedJurors = "numberStakedJurors", + PaidEth = "paidETH", + PaidPnk = "paidPNK", Parent = "parent", Policy = "policy", + Stake = "stake", StakedJurors = "stakedJurors", SupportedDisputeKits = "supportedDisputeKits", TimesPerPeriod = "timesPerPeriod", - Tokens = "tokens", } export type Dispute = { __typename?: "Dispute"; - arbitrated: Scalars["Bytes"]; - currentRound: Scalars["Int"]; - draws: Array; - gatewayDispute: GatewayDispute; + arbitrated: Arbitrable; + court: Court; + currentRound: Round; + currentRoundIndex: Scalars["BigInt"]; + disputeKitDispute?: Maybe; id: Scalars["ID"]; lastPeriodChange: Scalars["BigInt"]; period: Period; rounds: Array; ruled: Scalars["Boolean"]; shifts: Array; - subcourtID: Court; - votes: Array; -}; - -export type DisputeDrawsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; }; export type DisputeRoundsArgs = { @@ -319,14 +1119,6 @@ export type DisputeShiftsArgs = { where?: InputMaybe; }; -export type DisputeVotesArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - export type DisputeKit = { __typename?: "DisputeKit"; address?: Maybe; @@ -363,12 +1155,125 @@ export type DisputeKitRoundsArgs = { where?: InputMaybe; }; +export type DisputeKitDispute = { + coreDispute: Dispute; + currentLocalRoundIndex: Scalars["BigInt"]; + id: Scalars["ID"]; + localRounds: Array; +}; + +export type DisputeKitDisputeLocalRoundsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type DisputeKitDispute_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; + currentLocalRoundIndex?: InputMaybe; + currentLocalRoundIndex_gt?: InputMaybe; + currentLocalRoundIndex_gte?: InputMaybe; + currentLocalRoundIndex_in?: InputMaybe>; + currentLocalRoundIndex_lt?: InputMaybe; + currentLocalRoundIndex_lte?: InputMaybe; + currentLocalRoundIndex_not?: InputMaybe; + currentLocalRoundIndex_not_in?: InputMaybe>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + localRounds_?: InputMaybe; +}; + +export enum DisputeKitDispute_OrderBy { + CoreDispute = "coreDispute", + CurrentLocalRoundIndex = "currentLocalRoundIndex", + Id = "id", + LocalRounds = "localRounds", +} + +export type DisputeKitRound = { + id: Scalars["ID"]; + localDispute: DisputeKitDispute; +}; + +export type DisputeKitRound_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + localDispute?: InputMaybe; + localDispute_?: InputMaybe; + localDispute_contains?: InputMaybe; + localDispute_contains_nocase?: InputMaybe; + localDispute_ends_with?: InputMaybe; + localDispute_ends_with_nocase?: InputMaybe; + localDispute_gt?: InputMaybe; + localDispute_gte?: InputMaybe; + localDispute_in?: InputMaybe>; + localDispute_lt?: InputMaybe; + localDispute_lte?: InputMaybe; + localDispute_not?: InputMaybe; + localDispute_not_contains?: InputMaybe; + localDispute_not_contains_nocase?: InputMaybe; + localDispute_not_ends_with?: InputMaybe; + localDispute_not_ends_with_nocase?: InputMaybe; + localDispute_not_in?: InputMaybe>; + localDispute_not_starts_with?: InputMaybe; + localDispute_not_starts_with_nocase?: InputMaybe; + localDispute_starts_with?: InputMaybe; + localDispute_starts_with_nocase?: InputMaybe; +}; + +export enum DisputeKitRound_OrderBy { + Id = "id", + LocalDispute = "localDispute", +} + export type DisputeKit_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; address?: InputMaybe; address_contains?: InputMaybe; + address_gt?: InputMaybe; + address_gte?: InputMaybe; address_in?: InputMaybe>; + address_lt?: InputMaybe; + address_lte?: InputMaybe; address_not?: InputMaybe; address_not_contains?: InputMaybe; address_not_in?: InputMaybe>; @@ -432,22 +1337,78 @@ export enum DisputeKit_OrderBy { export type Dispute_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; - arbitrated?: InputMaybe; - arbitrated_contains?: InputMaybe; - arbitrated_in?: InputMaybe>; - arbitrated_not?: InputMaybe; - arbitrated_not_contains?: InputMaybe; - arbitrated_not_in?: InputMaybe>; - currentRound?: InputMaybe; - currentRound_gt?: InputMaybe; - currentRound_gte?: InputMaybe; - currentRound_in?: InputMaybe>; - currentRound_lt?: InputMaybe; - currentRound_lte?: InputMaybe; - currentRound_not?: InputMaybe; - currentRound_not_in?: InputMaybe>; - draws_?: InputMaybe; - gatewayDispute_?: InputMaybe; + arbitrated?: InputMaybe; + arbitrated_?: InputMaybe; + arbitrated_contains?: InputMaybe; + arbitrated_contains_nocase?: InputMaybe; + arbitrated_ends_with?: InputMaybe; + arbitrated_ends_with_nocase?: InputMaybe; + arbitrated_gt?: InputMaybe; + arbitrated_gte?: InputMaybe; + arbitrated_in?: InputMaybe>; + arbitrated_lt?: InputMaybe; + arbitrated_lte?: InputMaybe; + arbitrated_not?: InputMaybe; + arbitrated_not_contains?: InputMaybe; + arbitrated_not_contains_nocase?: InputMaybe; + arbitrated_not_ends_with?: InputMaybe; + arbitrated_not_ends_with_nocase?: InputMaybe; + arbitrated_not_in?: InputMaybe>; + arbitrated_not_starts_with?: InputMaybe; + arbitrated_not_starts_with_nocase?: InputMaybe; + arbitrated_starts_with?: InputMaybe; + arbitrated_starts_with_nocase?: InputMaybe; + court?: InputMaybe; + court_?: InputMaybe; + court_contains?: InputMaybe; + court_contains_nocase?: InputMaybe; + court_ends_with?: InputMaybe; + court_ends_with_nocase?: InputMaybe; + court_gt?: InputMaybe; + court_gte?: InputMaybe; + court_in?: InputMaybe>; + court_lt?: InputMaybe; + court_lte?: InputMaybe; + court_not?: InputMaybe; + court_not_contains?: InputMaybe; + court_not_contains_nocase?: InputMaybe; + court_not_ends_with?: InputMaybe; + court_not_ends_with_nocase?: InputMaybe; + court_not_in?: InputMaybe>; + court_not_starts_with?: InputMaybe; + court_not_starts_with_nocase?: InputMaybe; + court_starts_with?: InputMaybe; + court_starts_with_nocase?: InputMaybe; + currentRound?: InputMaybe; + currentRoundIndex?: InputMaybe; + currentRoundIndex_gt?: InputMaybe; + currentRoundIndex_gte?: InputMaybe; + currentRoundIndex_in?: InputMaybe>; + currentRoundIndex_lt?: InputMaybe; + currentRoundIndex_lte?: InputMaybe; + currentRoundIndex_not?: InputMaybe; + currentRoundIndex_not_in?: InputMaybe>; + currentRound_?: InputMaybe; + currentRound_contains?: InputMaybe; + currentRound_contains_nocase?: InputMaybe; + currentRound_ends_with?: InputMaybe; + currentRound_ends_with_nocase?: InputMaybe; + currentRound_gt?: InputMaybe; + currentRound_gte?: InputMaybe; + currentRound_in?: InputMaybe>; + currentRound_lt?: InputMaybe; + currentRound_lte?: InputMaybe; + currentRound_not?: InputMaybe; + currentRound_not_contains?: InputMaybe; + currentRound_not_contains_nocase?: InputMaybe; + currentRound_not_ends_with?: InputMaybe; + currentRound_not_ends_with_nocase?: InputMaybe; + currentRound_not_in?: InputMaybe>; + currentRound_not_starts_with?: InputMaybe; + currentRound_not_starts_with_nocase?: InputMaybe; + currentRound_starts_with?: InputMaybe; + currentRound_starts_with_nocase?: InputMaybe; + disputeKitDispute_?: InputMaybe; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -474,50 +1435,27 @@ export type Dispute_Filter = { ruled_not?: InputMaybe; ruled_not_in?: InputMaybe>; shifts_?: InputMaybe; - subcourtID?: InputMaybe; - subcourtID_?: InputMaybe; - subcourtID_contains?: InputMaybe; - subcourtID_contains_nocase?: InputMaybe; - subcourtID_ends_with?: InputMaybe; - subcourtID_ends_with_nocase?: InputMaybe; - subcourtID_gt?: InputMaybe; - subcourtID_gte?: InputMaybe; - subcourtID_in?: InputMaybe>; - subcourtID_lt?: InputMaybe; - subcourtID_lte?: InputMaybe; - subcourtID_not?: InputMaybe; - subcourtID_not_contains?: InputMaybe; - subcourtID_not_contains_nocase?: InputMaybe; - subcourtID_not_ends_with?: InputMaybe; - subcourtID_not_ends_with_nocase?: InputMaybe; - subcourtID_not_in?: InputMaybe>; - subcourtID_not_starts_with?: InputMaybe; - subcourtID_not_starts_with_nocase?: InputMaybe; - subcourtID_starts_with?: InputMaybe; - subcourtID_starts_with_nocase?: InputMaybe; - votes_?: InputMaybe; }; export enum Dispute_OrderBy { Arbitrated = "arbitrated", + Court = "court", CurrentRound = "currentRound", - Draws = "draws", - GatewayDispute = "gatewayDispute", + CurrentRoundIndex = "currentRoundIndex", + DisputeKitDispute = "disputeKitDispute", Id = "id", LastPeriodChange = "lastPeriodChange", Period = "period", Rounds = "rounds", Ruled = "ruled", Shifts = "shifts", - SubcourtId = "subcourtID", - Votes = "votes", } export type Draw = { __typename?: "Draw"; dispute: Dispute; id: Scalars["ID"]; - juror: Juror; + juror: User; round: Round; voteID: Scalars["BigInt"]; }; @@ -555,7 +1493,7 @@ export type Draw_Filter = { id_not?: InputMaybe; id_not_in?: InputMaybe>; juror?: InputMaybe; - juror_?: InputMaybe; + juror_?: InputMaybe; juror_contains?: InputMaybe; juror_contains_nocase?: InputMaybe; juror_ends_with?: InputMaybe; @@ -614,51 +1552,17 @@ export enum Draw_OrderBy { VoteId = "voteID", } -export type EthPaidDataPoint = { - __typename?: "ETHPaidDataPoint"; - id: Scalars["ID"]; - value: Scalars["BigInt"]; -}; - -export type EthPaidDataPoint_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; -}; - -export enum EthPaidDataPoint_OrderBy { - Id = "id", - Value = "value", -} - export type Evidence = { - __typename?: "Evidence"; evidence: Scalars["String"]; evidenceGroup: EvidenceGroup; id: Scalars["ID"]; - sender: Scalars["Bytes"]; + sender: User; }; export type EvidenceGroup = { - __typename?: "EvidenceGroup"; evidences: Array; id: Scalars["ID"]; - lastEvidenceID: Scalars["BigInt"]; + nextEvidenceIndex: Scalars["BigInt"]; }; export type EvidenceGroupEvidencesArgs = { @@ -681,20 +1585,20 @@ export type EvidenceGroup_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; - lastEvidenceID?: InputMaybe; - lastEvidenceID_gt?: InputMaybe; - lastEvidenceID_gte?: InputMaybe; - lastEvidenceID_in?: InputMaybe>; - lastEvidenceID_lt?: InputMaybe; - lastEvidenceID_lte?: InputMaybe; - lastEvidenceID_not?: InputMaybe; - lastEvidenceID_not_in?: InputMaybe>; + nextEvidenceIndex?: InputMaybe; + nextEvidenceIndex_gt?: InputMaybe; + nextEvidenceIndex_gte?: InputMaybe; + nextEvidenceIndex_in?: InputMaybe>; + nextEvidenceIndex_lt?: InputMaybe; + nextEvidenceIndex_lte?: InputMaybe; + nextEvidenceIndex_not?: InputMaybe; + nextEvidenceIndex_not_in?: InputMaybe>; }; export enum EvidenceGroup_OrderBy { Evidences = "evidences", Id = "id", - LastEvidenceId = "lastEvidenceID", + NextEvidenceIndex = "nextEvidenceIndex", } export type Evidence_Filter = { @@ -749,12 +1653,27 @@ export type Evidence_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; - sender?: InputMaybe; - sender_contains?: InputMaybe; - sender_in?: InputMaybe>; - sender_not?: InputMaybe; - sender_not_contains?: InputMaybe; - sender_not_in?: InputMaybe>; + sender?: InputMaybe; + sender_?: InputMaybe; + sender_contains?: InputMaybe; + sender_contains_nocase?: InputMaybe; + sender_ends_with?: InputMaybe; + sender_ends_with_nocase?: InputMaybe; + sender_gt?: InputMaybe; + sender_gte?: InputMaybe; + sender_in?: InputMaybe>; + sender_lt?: InputMaybe; + sender_lte?: InputMaybe; + sender_not?: InputMaybe; + sender_not_contains?: InputMaybe; + sender_not_contains_nocase?: InputMaybe; + sender_not_ends_with?: InputMaybe; + sender_not_ends_with_nocase?: InputMaybe; + sender_not_in?: InputMaybe>; + sender_not_starts_with?: InputMaybe; + sender_not_starts_with_nocase?: InputMaybe; + sender_starts_with?: InputMaybe; + sender_starts_with_nocase?: InputMaybe; }; export enum Evidence_OrderBy { @@ -787,13 +1706,21 @@ export type GatewayDispute_Filter = { arbitrationCost_not_in?: InputMaybe>; arbitrator?: InputMaybe; arbitrator_contains?: InputMaybe; + arbitrator_gt?: InputMaybe; + arbitrator_gte?: InputMaybe; arbitrator_in?: InputMaybe>; + arbitrator_lt?: InputMaybe; + arbitrator_lte?: InputMaybe; arbitrator_not?: InputMaybe; arbitrator_not_contains?: InputMaybe; arbitrator_not_in?: InputMaybe>; disputeHash?: InputMaybe; disputeHash_contains?: InputMaybe; + disputeHash_gt?: InputMaybe; + disputeHash_gte?: InputMaybe; disputeHash_in?: InputMaybe>; + disputeHash_lt?: InputMaybe; + disputeHash_lte?: InputMaybe; disputeHash_not?: InputMaybe; disputeHash_not_contains?: InputMaybe; disputeHash_not_in?: InputMaybe>; @@ -828,7 +1755,11 @@ export type GatewayDispute_Filter = { id_not_in?: InputMaybe>; relayer?: InputMaybe; relayer_contains?: InputMaybe; + relayer_gt?: InputMaybe; + relayer_gte?: InputMaybe; relayer_in?: InputMaybe>; + relayer_lt?: InputMaybe; + relayer_lte?: InputMaybe; relayer_not?: InputMaybe; relayer_not_contains?: InputMaybe; relayer_not_in?: InputMaybe>; @@ -843,59 +1774,39 @@ export enum GatewayDispute_OrderBy { Relayer = "relayer", } -export type Juror = { - __typename?: "Juror"; - draws: Array; +export type JurorTokensPerCourt = { + __typename?: "JurorTokensPerCourt"; + court: Court; id: Scalars["ID"]; - shifts: Array; - tokens: Array; - votes: Array; -}; - -export type JurorDrawsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type JurorShiftsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type JurorTokensArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type JurorVotesArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type JurorTokensPerSubcourt = { - __typename?: "JurorTokensPerSubcourt"; - id: Scalars["ID"]; - juror: Juror; + juror: User; locked: Scalars["BigInt"]; staked: Scalars["BigInt"]; - subcourt: Court; }; -export type JurorTokensPerSubcourt_Filter = { +export type JurorTokensPerCourt_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; + court?: InputMaybe; + court_?: InputMaybe; + court_contains?: InputMaybe; + court_contains_nocase?: InputMaybe; + court_ends_with?: InputMaybe; + court_ends_with_nocase?: InputMaybe; + court_gt?: InputMaybe; + court_gte?: InputMaybe; + court_in?: InputMaybe>; + court_lt?: InputMaybe; + court_lte?: InputMaybe; + court_not?: InputMaybe; + court_not_contains?: InputMaybe; + court_not_contains_nocase?: InputMaybe; + court_not_ends_with?: InputMaybe; + court_not_ends_with_nocase?: InputMaybe; + court_not_in?: InputMaybe>; + court_not_starts_with?: InputMaybe; + court_not_starts_with_nocase?: InputMaybe; + court_starts_with?: InputMaybe; + court_starts_with_nocase?: InputMaybe; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -905,7 +1816,7 @@ export type JurorTokensPerSubcourt_Filter = { id_not?: InputMaybe; id_not_in?: InputMaybe>; juror?: InputMaybe; - juror_?: InputMaybe; + juror_?: InputMaybe; juror_contains?: InputMaybe; juror_contains_nocase?: InputMaybe; juror_ends_with?: InputMaybe; @@ -941,60 +1852,14 @@ export type JurorTokensPerSubcourt_Filter = { staked_lte?: InputMaybe; staked_not?: InputMaybe; staked_not_in?: InputMaybe>; - subcourt?: InputMaybe; - subcourt_?: InputMaybe; - subcourt_contains?: InputMaybe; - subcourt_contains_nocase?: InputMaybe; - subcourt_ends_with?: InputMaybe; - subcourt_ends_with_nocase?: InputMaybe; - subcourt_gt?: InputMaybe; - subcourt_gte?: InputMaybe; - subcourt_in?: InputMaybe>; - subcourt_lt?: InputMaybe; - subcourt_lte?: InputMaybe; - subcourt_not?: InputMaybe; - subcourt_not_contains?: InputMaybe; - subcourt_not_contains_nocase?: InputMaybe; - subcourt_not_ends_with?: InputMaybe; - subcourt_not_ends_with_nocase?: InputMaybe; - subcourt_not_in?: InputMaybe>; - subcourt_not_starts_with?: InputMaybe; - subcourt_not_starts_with_nocase?: InputMaybe; - subcourt_starts_with?: InputMaybe; - subcourt_starts_with_nocase?: InputMaybe; -}; - -export enum JurorTokensPerSubcourt_OrderBy { +}; + +export enum JurorTokensPerCourt_OrderBy { + Court = "court", Id = "id", Juror = "juror", Locked = "locked", Staked = "staked", - Subcourt = "subcourt", -} - -export type Juror_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - draws_?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - shifts_?: InputMaybe; - tokens_?: InputMaybe; - votes_?: InputMaybe; -}; - -export enum Juror_OrderBy { - Draws = "draws", - Id = "id", - Shifts = "shifts", - Tokens = "tokens", - Votes = "votes", } /** Defines the order direction, either ascending or descending */ @@ -1029,85 +1894,19 @@ export type OutgoingBatch_Filter = { batchMerkleRoot_not_contains_nocase?: InputMaybe; batchMerkleRoot_not_ends_with?: InputMaybe; batchMerkleRoot_not_ends_with_nocase?: InputMaybe; - batchMerkleRoot_not_in?: InputMaybe>; - batchMerkleRoot_not_starts_with?: InputMaybe; - batchMerkleRoot_not_starts_with_nocase?: InputMaybe; - batchMerkleRoot_starts_with?: InputMaybe; - batchMerkleRoot_starts_with_nocase?: InputMaybe; - epoch?: InputMaybe; - epoch_gt?: InputMaybe; - epoch_gte?: InputMaybe; - epoch_in?: InputMaybe>; - epoch_lt?: InputMaybe; - epoch_lte?: InputMaybe; - epoch_not?: InputMaybe; - epoch_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - size?: InputMaybe; - size_gt?: InputMaybe; - size_gte?: InputMaybe; - size_in?: InputMaybe>; - size_lt?: InputMaybe; - size_lte?: InputMaybe; - size_not?: InputMaybe; - size_not_in?: InputMaybe>; -}; - -export enum OutgoingBatch_OrderBy { - BatchMerkleRoot = "batchMerkleRoot", - Epoch = "epoch", - Id = "id", - Size = "size", -} - -export type PnkRedistributedDataPoint = { - __typename?: "PNKRedistributedDataPoint"; - id: Scalars["ID"]; - value: Scalars["BigInt"]; -}; - -export type PnkRedistributedDataPoint_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; -}; - -export enum PnkRedistributedDataPoint_OrderBy { - Id = "id", - Value = "value", -} - -export type PnkStakedDataPoint = { - __typename?: "PNKStakedDataPoint"; - id: Scalars["ID"]; - value: Scalars["BigInt"]; -}; - -export type PnkStakedDataPoint_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; + batchMerkleRoot_not_in?: InputMaybe>; + batchMerkleRoot_not_starts_with?: InputMaybe; + batchMerkleRoot_not_starts_with_nocase?: InputMaybe; + batchMerkleRoot_starts_with?: InputMaybe; + batchMerkleRoot_starts_with_nocase?: InputMaybe; + epoch?: InputMaybe; + epoch_gt?: InputMaybe; + epoch_gte?: InputMaybe; + epoch_in?: InputMaybe>; + epoch_lt?: InputMaybe; + epoch_lte?: InputMaybe; + epoch_not?: InputMaybe; + epoch_not_in?: InputMaybe>; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -1116,67 +1915,81 @@ export type PnkStakedDataPoint_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; + size?: InputMaybe; + size_gt?: InputMaybe; + size_gte?: InputMaybe; + size_in?: InputMaybe>; + size_lt?: InputMaybe; + size_lte?: InputMaybe; + size_not?: InputMaybe; + size_not_in?: InputMaybe>; }; -export enum PnkStakedDataPoint_OrderBy { +export enum OutgoingBatch_OrderBy { + BatchMerkleRoot = "batchMerkleRoot", + Epoch = "epoch", Id = "id", - Value = "value", + Size = "size", } export enum Period { - Appeal = "Appeal", - Commit = "Commit", - Evidence = "Evidence", - Execution = "Execution", - Vote = "Vote", + Appeal = "appeal", + Commit = "commit", + Evidence = "evidence", + Execution = "execution", + Vote = "vote", } export type Query = { __typename?: "Query"; /** Access to subgraph metadata */ _meta?: Maybe<_Meta_>; - activeJurorsDataPoint?: Maybe; - activeJurorsDataPoints: Array; - casesDataPoint?: Maybe; - casesDataPoints: Array; + arbitrable?: Maybe; + arbitrables: Array; + classicContribution?: Maybe; + classicContributions: Array; + classicDispute?: Maybe; + classicDisputes: Array; + classicEvidence?: Maybe; + classicEvidenceGroup?: Maybe; + classicEvidenceGroups: Array; + classicEvidences: Array; + classicRound?: Maybe; + classicRounds: Array; + classicVote?: Maybe; + classicVotes: Array; + contribution?: Maybe; + contributions: Array; + counter?: Maybe; + counters: Array; court?: Maybe; courts: Array; dispute?: Maybe; disputeKit?: Maybe; + disputeKitDispute?: Maybe; + disputeKitDisputes: Array; + disputeKitRound?: Maybe; + disputeKitRounds: Array; disputeKits: Array; disputes: Array; draw?: Maybe; draws: Array; - ethpaidDataPoint?: Maybe; - ethpaidDataPoints: Array; evidence?: Maybe; evidenceGroup?: Maybe; evidenceGroups: Array; evidences: Array; gatewayDispute?: Maybe; gatewayDisputes: Array; - juror?: Maybe; - jurorTokensPerSubcourt?: Maybe; - jurorTokensPerSubcourts: Array; - jurors: Array; + jurorTokensPerCourt?: Maybe; + jurorTokensPerCourts: Array; outgoingBatch?: Maybe; outgoingBatches: Array; - pnkredistributedDataPoint?: Maybe; - pnkredistributedDataPoints: Array; - pnkstakedDataPoint?: Maybe; - pnkstakedDataPoints: Array; round?: Maybe; rounds: Array; tokenAndETHShift?: Maybe; tokenAndETHShifts: Array; + user?: Maybe; + users: Array; vote?: Maybe; votes: Array; }; @@ -1185,244 +1998,324 @@ export type Query_MetaArgs = { block?: InputMaybe; }; -export type QueryActiveJurorsDataPointArgs = { +export type QueryArbitrableArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryActiveJurorsDataPointsArgs = { +export type QueryArbitrablesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryCasesDataPointArgs = { +export type QueryClassicContributionArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryCasesDataPointsArgs = { +export type QueryClassicContributionsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryCourtArgs = { +export type QueryClassicDisputeArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryCourtsArgs = { +export type QueryClassicDisputesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryDisputeArgs = { +export type QueryClassicEvidenceArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryDisputeKitArgs = { +export type QueryClassicEvidenceGroupArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryDisputeKitsArgs = { +export type QueryClassicEvidenceGroupsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryDisputesArgs = { +export type QueryClassicEvidencesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryDrawArgs = { +export type QueryClassicRoundArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryDrawsArgs = { +export type QueryClassicRoundsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryEthpaidDataPointArgs = { +export type QueryClassicVoteArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryEthpaidDataPointsArgs = { +export type QueryClassicVotesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryEvidenceArgs = { +export type QueryContributionArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryEvidenceGroupArgs = { +export type QueryContributionsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type QueryCounterArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryEvidenceGroupsArgs = { +export type QueryCountersArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryEvidencesArgs = { +export type QueryCourtArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryCourtsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryGatewayDisputeArgs = { +export type QueryDisputeArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryGatewayDisputesArgs = { +export type QueryDisputeKitArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryDisputeKitDisputeArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryDisputeKitDisputesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; +}; + +export type QueryDisputeKitRoundArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryDisputeKitRoundsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type QueryDisputeKitsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type QueryDisputesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type QueryDrawArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryDrawsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type QueryJurorArgs = { +export type QueryEvidenceArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryJurorTokensPerSubcourtArgs = { +export type QueryEvidenceGroupArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryJurorTokensPerSubcourtsArgs = { +export type QueryEvidenceGroupsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryJurorsArgs = { +export type QueryEvidencesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryOutgoingBatchArgs = { +export type QueryGatewayDisputeArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryOutgoingBatchesArgs = { +export type QueryGatewayDisputesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryPnkredistributedDataPointArgs = { +export type QueryJurorTokensPerCourtArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryPnkredistributedDataPointsArgs = { +export type QueryJurorTokensPerCourtsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type QueryPnkstakedDataPointArgs = { +export type QueryOutgoingBatchArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type QueryPnkstakedDataPointsArgs = { +export type QueryOutgoingBatchesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; export type QueryRoundArgs = { @@ -1457,6 +2350,22 @@ export type QueryTokenAndEthShiftsArgs = { where?: InputMaybe; }; +export type QueryUserArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type QueryUsersArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + export type QueryVoteArgs = { block?: InputMaybe; id: Scalars["ID"]; @@ -1476,7 +2385,7 @@ export type QueryVotesArgs = { export type Round = { __typename?: "Round"; dispute: Dispute; - disputeKitID: DisputeKit; + disputeKit: DisputeKit; drawnJurors: Array; id: Scalars["ID"]; nbVotes: Scalars["BigInt"]; @@ -1484,8 +2393,6 @@ export type Round = { repartitions: Scalars["BigInt"]; tokensAtStakePerJuror: Scalars["BigInt"]; totalFeesForJurors: Scalars["BigInt"]; - totalVoted: Scalars["BigInt"]; - votes: Array; }; export type RoundDrawnJurorsArgs = { @@ -1496,39 +2403,31 @@ export type RoundDrawnJurorsArgs = { where?: InputMaybe; }; -export type RoundVotesArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - export type Round_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; dispute?: InputMaybe; - disputeKitID?: InputMaybe; - disputeKitID_?: InputMaybe; - disputeKitID_contains?: InputMaybe; - disputeKitID_contains_nocase?: InputMaybe; - disputeKitID_ends_with?: InputMaybe; - disputeKitID_ends_with_nocase?: InputMaybe; - disputeKitID_gt?: InputMaybe; - disputeKitID_gte?: InputMaybe; - disputeKitID_in?: InputMaybe>; - disputeKitID_lt?: InputMaybe; - disputeKitID_lte?: InputMaybe; - disputeKitID_not?: InputMaybe; - disputeKitID_not_contains?: InputMaybe; - disputeKitID_not_contains_nocase?: InputMaybe; - disputeKitID_not_ends_with?: InputMaybe; - disputeKitID_not_ends_with_nocase?: InputMaybe; - disputeKitID_not_in?: InputMaybe>; - disputeKitID_not_starts_with?: InputMaybe; - disputeKitID_not_starts_with_nocase?: InputMaybe; - disputeKitID_starts_with?: InputMaybe; - disputeKitID_starts_with_nocase?: InputMaybe; + disputeKit?: InputMaybe; + disputeKit_?: InputMaybe; + disputeKit_contains?: InputMaybe; + disputeKit_contains_nocase?: InputMaybe; + disputeKit_ends_with?: InputMaybe; + disputeKit_ends_with_nocase?: InputMaybe; + disputeKit_gt?: InputMaybe; + disputeKit_gte?: InputMaybe; + disputeKit_in?: InputMaybe>; + disputeKit_lt?: InputMaybe; + disputeKit_lte?: InputMaybe; + disputeKit_not?: InputMaybe; + disputeKit_not_contains?: InputMaybe; + disputeKit_not_contains_nocase?: InputMaybe; + disputeKit_not_ends_with?: InputMaybe; + disputeKit_not_ends_with_nocase?: InputMaybe; + disputeKit_not_in?: InputMaybe>; + disputeKit_not_starts_with?: InputMaybe; + disputeKit_not_starts_with_nocase?: InputMaybe; + disputeKit_starts_with?: InputMaybe; + disputeKit_starts_with_nocase?: InputMaybe; dispute_?: InputMaybe; dispute_contains?: InputMaybe; dispute_contains_nocase?: InputMaybe; @@ -1598,20 +2497,11 @@ export type Round_Filter = { totalFeesForJurors_lte?: InputMaybe; totalFeesForJurors_not?: InputMaybe; totalFeesForJurors_not_in?: InputMaybe>; - totalVoted?: InputMaybe; - totalVoted_gt?: InputMaybe; - totalVoted_gte?: InputMaybe; - totalVoted_in?: InputMaybe>; - totalVoted_lt?: InputMaybe; - totalVoted_lte?: InputMaybe; - totalVoted_not?: InputMaybe; - totalVoted_not_in?: InputMaybe>; - votes_?: InputMaybe; }; export enum Round_OrderBy { Dispute = "dispute", - DisputeKitId = "disputeKitID", + DisputeKit = "disputeKit", DrawnJurors = "drawnJurors", Id = "id", NbVotes = "nbVotes", @@ -1619,86 +2509,208 @@ export enum Round_OrderBy { Repartitions = "repartitions", TokensAtStakePerJuror = "tokensAtStakePerJuror", TotalFeesForJurors = "totalFeesForJurors", - TotalVoted = "totalVoted", - Votes = "votes", } export type Subscription = { __typename?: "Subscription"; /** Access to subgraph metadata */ _meta?: Maybe<_Meta_>; - activeJurorsDataPoint?: Maybe; - activeJurorsDataPoints: Array; - casesDataPoint?: Maybe; - casesDataPoints: Array; + arbitrable?: Maybe; + arbitrables: Array; + classicContribution?: Maybe; + classicContributions: Array; + classicDispute?: Maybe; + classicDisputes: Array; + classicEvidence?: Maybe; + classicEvidenceGroup?: Maybe; + classicEvidenceGroups: Array; + classicEvidences: Array; + classicRound?: Maybe; + classicRounds: Array; + classicVote?: Maybe; + classicVotes: Array; + contribution?: Maybe; + contributions: Array; + counter?: Maybe; + counters: Array; court?: Maybe; courts: Array; dispute?: Maybe; disputeKit?: Maybe; + disputeKitDispute?: Maybe; + disputeKitDisputes: Array; + disputeKitRound?: Maybe; + disputeKitRounds: Array; disputeKits: Array; disputes: Array; draw?: Maybe; draws: Array; - ethpaidDataPoint?: Maybe; - ethpaidDataPoints: Array; evidence?: Maybe; evidenceGroup?: Maybe; evidenceGroups: Array; evidences: Array; gatewayDispute?: Maybe; gatewayDisputes: Array; - juror?: Maybe; - jurorTokensPerSubcourt?: Maybe; - jurorTokensPerSubcourts: Array; - jurors: Array; + jurorTokensPerCourt?: Maybe; + jurorTokensPerCourts: Array; outgoingBatch?: Maybe; outgoingBatches: Array; - pnkredistributedDataPoint?: Maybe; - pnkredistributedDataPoints: Array; - pnkstakedDataPoint?: Maybe; - pnkstakedDataPoints: Array; round?: Maybe; rounds: Array; tokenAndETHShift?: Maybe; tokenAndETHShifts: Array; + user?: Maybe; + users: Array; vote?: Maybe; votes: Array; }; -export type Subscription_MetaArgs = { +export type Subscription_MetaArgs = { + block?: InputMaybe; +}; + +export type SubscriptionArbitrableArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionArbitrablesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicContributionArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicContributionsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicDisputeArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicDisputesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicEvidenceArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicEvidenceGroupArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicEvidenceGroupsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicEvidencesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicRoundArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicRoundsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + +export type SubscriptionClassicVoteArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionClassicVotesArgs = { block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type SubscriptionActiveJurorsDataPointArgs = { +export type SubscriptionContributionArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionActiveJurorsDataPointsArgs = { +export type SubscriptionContributionsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionCasesDataPointArgs = { +export type SubscriptionCounterArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionCasesDataPointsArgs = { +export type SubscriptionCountersArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; export type SubscriptionCourtArgs = { @@ -1729,56 +2741,72 @@ export type SubscriptionDisputeKitArgs = { subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionDisputeKitsArgs = { +export type SubscriptionDisputeKitDisputeArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionDisputeKitDisputesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionDisputesArgs = { +export type SubscriptionDisputeKitRoundArgs = { + block?: InputMaybe; + id: Scalars["ID"]; + subgraphError?: _SubgraphErrorPolicy_; +}; + +export type SubscriptionDisputeKitRoundsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionDrawArgs = { +export type SubscriptionDisputeKitsArgs = { block?: InputMaybe; - id: Scalars["ID"]; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type SubscriptionDrawsArgs = { +export type SubscriptionDisputesArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionEthpaidDataPointArgs = { +export type SubscriptionDrawArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionEthpaidDataPointsArgs = { +export type SubscriptionDrawsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; export type SubscriptionEvidenceArgs = { @@ -1829,36 +2857,20 @@ export type SubscriptionGatewayDisputesArgs = { where?: InputMaybe; }; -export type SubscriptionJurorArgs = { - block?: InputMaybe; - id: Scalars["ID"]; - subgraphError?: _SubgraphErrorPolicy_; -}; - -export type SubscriptionJurorTokensPerSubcourtArgs = { +export type SubscriptionJurorTokensPerCourtArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionJurorTokensPerSubcourtsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - -export type SubscriptionJurorsArgs = { +export type SubscriptionJurorTokensPerCourtsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; export type SubscriptionOutgoingBatchArgs = { @@ -1877,68 +2889,52 @@ export type SubscriptionOutgoingBatchesArgs = { where?: InputMaybe; }; -export type SubscriptionPnkredistributedDataPointArgs = { - block?: InputMaybe; - id: Scalars["ID"]; - subgraphError?: _SubgraphErrorPolicy_; -}; - -export type SubscriptionPnkredistributedDataPointsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - -export type SubscriptionPnkstakedDataPointArgs = { +export type SubscriptionRoundArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionPnkstakedDataPointsArgs = { +export type SubscriptionRoundsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionRoundArgs = { +export type SubscriptionTokenAndEthShiftArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionRoundsArgs = { +export type SubscriptionTokenAndEthShiftsArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; -export type SubscriptionTokenAndEthShiftArgs = { +export type SubscriptionUserArgs = { block?: InputMaybe; id: Scalars["ID"]; subgraphError?: _SubgraphErrorPolicy_; }; -export type SubscriptionTokenAndEthShiftsArgs = { +export type SubscriptionUsersArgs = { block?: InputMaybe; first?: InputMaybe; - orderBy?: InputMaybe; + orderBy?: InputMaybe; orderDirection?: InputMaybe; skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; + where?: InputMaybe; }; export type SubscriptionVoteArgs = { @@ -1962,7 +2958,7 @@ export type TokenAndEthShift = { dispute: Dispute; ethAmount: Scalars["BigInt"]; id: Scalars["ID"]; - juror: Juror; + juror: User; tokenAmount: Scalars["BigInt"]; }; @@ -2007,7 +3003,7 @@ export type TokenAndEthShift_Filter = { id_not?: InputMaybe; id_not_in?: InputMaybe>; juror?: InputMaybe; - juror_?: InputMaybe; + juror_?: InputMaybe; juror_contains?: InputMaybe; juror_contains_nocase?: InputMaybe; juror_ends_with?: InputMaybe; @@ -2045,48 +3041,135 @@ export enum TokenAndEthShift_OrderBy { TokenAmount = "tokenAmount", } +export type User = { + __typename?: "User"; + contributions: Array; + draws: Array; + evidences: Array; + id: Scalars["ID"]; + shifts: Array; + tokens: Array; + totalStake: Scalars["BigInt"]; + votes: Array; +}; + +export type UserContributionsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type UserDrawsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type UserEvidencesArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type UserShiftsArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type UserTokensArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type UserVotesArgs = { + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +export type User_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + contributions_?: InputMaybe; + draws_?: InputMaybe; + evidences_?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + shifts_?: InputMaybe; + tokens_?: InputMaybe; + totalStake?: InputMaybe; + totalStake_gt?: InputMaybe; + totalStake_gte?: InputMaybe; + totalStake_in?: InputMaybe>; + totalStake_lt?: InputMaybe; + totalStake_lte?: InputMaybe; + totalStake_not?: InputMaybe; + totalStake_not_in?: InputMaybe>; + votes_?: InputMaybe; +}; + +export enum User_OrderBy { + Contributions = "contributions", + Draws = "draws", + Evidences = "evidences", + Id = "id", + Shifts = "shifts", + Tokens = "tokens", + TotalStake = "totalStake", + Votes = "votes", +} + export type Vote = { - __typename?: "Vote"; - choice?: Maybe; - dispute: Dispute; + coreDispute: Dispute; id: Scalars["ID"]; - juror: Juror; - justification?: Maybe; - round: Round; + juror: User; + localRound: DisputeKitRound; }; export type Vote_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; - choice?: InputMaybe; - choice_gt?: InputMaybe; - choice_gte?: InputMaybe; - choice_in?: InputMaybe>; - choice_lt?: InputMaybe; - choice_lte?: InputMaybe; - choice_not?: InputMaybe; - choice_not_in?: InputMaybe>; - dispute?: InputMaybe; - dispute_?: InputMaybe; - dispute_contains?: InputMaybe; - dispute_contains_nocase?: InputMaybe; - dispute_ends_with?: InputMaybe; - dispute_ends_with_nocase?: InputMaybe; - dispute_gt?: InputMaybe; - dispute_gte?: InputMaybe; - dispute_in?: InputMaybe>; - dispute_lt?: InputMaybe; - dispute_lte?: InputMaybe; - dispute_not?: InputMaybe; - dispute_not_contains?: InputMaybe; - dispute_not_contains_nocase?: InputMaybe; - dispute_not_ends_with?: InputMaybe; - dispute_not_ends_with_nocase?: InputMaybe; - dispute_not_in?: InputMaybe>; - dispute_not_starts_with?: InputMaybe; - dispute_not_starts_with_nocase?: InputMaybe; - dispute_starts_with?: InputMaybe; - dispute_starts_with_nocase?: InputMaybe; + coreDispute?: InputMaybe; + coreDispute_?: InputMaybe; + coreDispute_contains?: InputMaybe; + coreDispute_contains_nocase?: InputMaybe; + coreDispute_ends_with?: InputMaybe; + coreDispute_ends_with_nocase?: InputMaybe; + coreDispute_gt?: InputMaybe; + coreDispute_gte?: InputMaybe; + coreDispute_in?: InputMaybe>; + coreDispute_lt?: InputMaybe; + coreDispute_lte?: InputMaybe; + coreDispute_not?: InputMaybe; + coreDispute_not_contains?: InputMaybe; + coreDispute_not_contains_nocase?: InputMaybe; + coreDispute_not_ends_with?: InputMaybe; + coreDispute_not_ends_with_nocase?: InputMaybe; + coreDispute_not_in?: InputMaybe>; + coreDispute_not_starts_with?: InputMaybe; + coreDispute_not_starts_with_nocase?: InputMaybe; + coreDispute_starts_with?: InputMaybe; + coreDispute_starts_with_nocase?: InputMaybe; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -2096,7 +3179,7 @@ export type Vote_Filter = { id_not?: InputMaybe; id_not_in?: InputMaybe>; juror?: InputMaybe; - juror_?: InputMaybe; + juror_?: InputMaybe; juror_contains?: InputMaybe; juror_contains_nocase?: InputMaybe; juror_ends_with?: InputMaybe; @@ -2116,56 +3199,34 @@ export type Vote_Filter = { juror_not_starts_with_nocase?: InputMaybe; juror_starts_with?: InputMaybe; juror_starts_with_nocase?: InputMaybe; - justification?: InputMaybe; - justification_contains?: InputMaybe; - justification_contains_nocase?: InputMaybe; - justification_ends_with?: InputMaybe; - justification_ends_with_nocase?: InputMaybe; - justification_gt?: InputMaybe; - justification_gte?: InputMaybe; - justification_in?: InputMaybe>; - justification_lt?: InputMaybe; - justification_lte?: InputMaybe; - justification_not?: InputMaybe; - justification_not_contains?: InputMaybe; - justification_not_contains_nocase?: InputMaybe; - justification_not_ends_with?: InputMaybe; - justification_not_ends_with_nocase?: InputMaybe; - justification_not_in?: InputMaybe>; - justification_not_starts_with?: InputMaybe; - justification_not_starts_with_nocase?: InputMaybe; - justification_starts_with?: InputMaybe; - justification_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; + localRound?: InputMaybe; + localRound_?: InputMaybe; + localRound_contains?: InputMaybe; + localRound_contains_nocase?: InputMaybe; + localRound_ends_with?: InputMaybe; + localRound_ends_with_nocase?: InputMaybe; + localRound_gt?: InputMaybe; + localRound_gte?: InputMaybe; + localRound_in?: InputMaybe>; + localRound_lt?: InputMaybe; + localRound_lte?: InputMaybe; + localRound_not?: InputMaybe; + localRound_not_contains?: InputMaybe; + localRound_not_contains_nocase?: InputMaybe; + localRound_not_ends_with?: InputMaybe; + localRound_not_ends_with_nocase?: InputMaybe; + localRound_not_in?: InputMaybe>; + localRound_not_starts_with?: InputMaybe; + localRound_not_starts_with_nocase?: InputMaybe; + localRound_starts_with?: InputMaybe; + localRound_starts_with_nocase?: InputMaybe; }; export enum Vote_OrderBy { - Choice = "choice", - Dispute = "dispute", + CoreDispute = "coreDispute", Id = "id", Juror = "juror", - Justification = "justification", - Round = "round", + LocalRound = "localRound", } export type _Block_ = { @@ -2211,10 +3272,10 @@ export type CasesPageQuery = { disputes: Array<{ __typename?: "Dispute"; id: string; - arbitrated: any; period: Period; lastPeriodChange: any; - subcourtID: { + arbitrated: { __typename?: "Arbitrable"; id: string }; + court: { __typename?: "Court"; id: string; policy?: string | null; @@ -2222,7 +3283,41 @@ export type CasesPageQuery = { timesPerPeriod: Array; }; }>; - casesDataPoint?: { __typename?: "CasesDataPoint"; value: any } | null; + counter?: { __typename?: "Counter"; cases: any } | null; +}; + +export type ClassicAppealQueryVariables = Exact<{ + disputeID: Scalars["ID"]; +}>; + +export type ClassicAppealQuery = { + __typename?: "Query"; + dispute?: { + __typename?: "Dispute"; + lastPeriodChange: any; + court: { __typename?: "Court"; id: string; timesPerPeriod: Array }; + arbitrated: { __typename?: "Arbitrable"; id: string }; + disputeKitDispute?: { + __typename?: "ClassicDispute"; + id: string; + currentLocalRoundIndex: any; + localRounds: Array<{ + __typename?: "ClassicRound"; + winningChoice: any; + paidFees: Array; + fundedChoices: Array; + }>; + } | null; + } | null; +}; + +export type CourtPolicyUriQueryVariables = Exact<{ + courtID: Scalars["ID"]; +}>; + +export type CourtPolicyUriQuery = { + __typename?: "Query"; + court?: { __typename?: "Court"; policy?: string | null } | null; }; export type DisputeDetailsQueryVariables = Exact<{ @@ -2233,17 +3328,17 @@ export type DisputeDetailsQuery = { __typename?: "Query"; dispute?: { __typename?: "Dispute"; - arbitrated: any; period: Period; ruled: boolean; lastPeriodChange: any; - subcourtID: { + court: { __typename?: "Court"; id: string; timesPerPeriod: Array; hiddenVotes: boolean; feeForJuror: any; }; + arbitrated: { __typename?: "Arbitrable"; id: string }; } | null; }; @@ -2255,7 +3350,6 @@ export type DrawQueryVariables = Exact<{ export type DrawQuery = { __typename?: "Query"; draws: Array<{ __typename?: "Draw"; voteID: any }>; - votes: Array<{ __typename?: "Vote"; id: string }>; }; export type EvidencesQueryVariables = Exact<{ @@ -2265,10 +3359,10 @@ export type EvidencesQueryVariables = Exact<{ export type EvidencesQuery = { __typename?: "Query"; evidences: Array<{ - __typename?: "Evidence"; + __typename?: "ClassicEvidence"; id: string; evidence: string; - sender: any; + sender: { __typename?: "User"; id: string }; }>; }; @@ -2279,30 +3373,14 @@ export type HomePageQueryVariables = Exact<{ export type HomePageQuery = { __typename?: "Query"; disputes: Array<{ __typename?: "Dispute"; id: string }>; - pnkstakedDataPoints: Array<{ - __typename?: "PNKStakedDataPoint"; - id: string; - value: any; - }>; - ethpaidDataPoints: Array<{ - __typename?: "ETHPaidDataPoint"; - id: string; - value: any; - }>; - pnkredistributedDataPoints: Array<{ - __typename?: "PNKRedistributedDataPoint"; - id: string; - value: any; - }>; - activeJurorsDataPoints: Array<{ - __typename?: "ActiveJurorsDataPoint"; - id: string; - value: any; - }>; - casesDataPoints: Array<{ - __typename?: "CasesDataPoint"; + counters: Array<{ + __typename?: "Counter"; id: string; - value: any; + stakedPNK: any; + paidETH: any; + redistributedPNK: any; + activeJurors: any; + cases: any; }>; }; @@ -2314,16 +3392,20 @@ export type VotingHistoryQuery = { __typename?: "Query"; dispute?: { __typename?: "Dispute"; - rounds: Array<{ - __typename?: "Round"; - nbVotes: any; - totalVoted: any; - votes: Array<{ - __typename?: "Vote"; - choice?: any | null; - justification?: string | null; - juror: { __typename?: "Juror"; id: string }; + rounds: Array<{ __typename?: "Round"; nbVotes: any }>; + disputeKitDispute?: { + __typename?: "ClassicDispute"; + localRounds: Array<{ + __typename?: "ClassicRound"; + totalVoted: any; + votes: Array<{ + __typename?: "ClassicVote"; + id: string; + choice: any; + justification: string; + juror: { __typename?: "User"; id: string }; + }>; }>; - }>; + } | null; } | null; }; diff --git a/web/src/hooks/queries/useAppealCost.ts b/web/src/hooks/queries/useAppealCost.ts new file mode 100644 index 000000000..8181bddf4 --- /dev/null +++ b/web/src/hooks/queries/useAppealCost.ts @@ -0,0 +1,13 @@ +import useSWRImmutable from "swr/immutable"; +import { useConnectedContract } from "hooks/useConnectedContract"; + +export const useAppealCost = (disputeID?: string) => { + const KlerosCore = useConnectedContract("KlerosCore"); + return useSWRImmutable( + () => (KlerosCore ? `AppealCost${disputeID}` : false), + async () => { + if (!KlerosCore) return; + return KlerosCore.appealCost(disputeID); + } + ); +}; diff --git a/web/src/hooks/queries/useCasesQuery.ts b/web/src/hooks/queries/useCasesQuery.ts index 81e779584..082ee7b53 100644 --- a/web/src/hooks/queries/useCasesQuery.ts +++ b/web/src/hooks/queries/useCasesQuery.ts @@ -12,8 +12,10 @@ const casesQuery = gql` orderDirection: desc ) { id - arbitrated - courtID { + arbitrated { + id + } + court { id policy feeForJuror @@ -22,8 +24,8 @@ const casesQuery = gql` period lastPeriodChange } - casesDataPoint(id: "0") { - value + counter(id: "0") { + cases } } `; diff --git a/web/src/hooks/queries/useClassicAppealQuery.ts b/web/src/hooks/queries/useClassicAppealQuery.ts new file mode 100644 index 000000000..f330ffa7a --- /dev/null +++ b/web/src/hooks/queries/useClassicAppealQuery.ts @@ -0,0 +1,43 @@ +import useSWR from "swr"; +import { gql } from "graphql-request"; +import { ClassicAppealQuery } from "src/graphql/generated"; +export type { ClassicAppealQuery }; + +const classicAppealQuery = gql` + query ClassicAppeal($disputeID: ID!) { + dispute(id: $disputeID) { + court { + id + timesPerPeriod + } + arbitrated { + id + } + lastPeriodChange + disputeKitDispute { + id + currentLocalRoundIndex + localRounds { + ... on ClassicRound { + winningChoice + paidFees + fundedChoices + } + } + } + } + } +`; + +export const useClassicAppealQuery = (id?: string | number) => { + const { data, error, isValidating } = useSWR(() => + typeof id !== "undefined" + ? { + query: classicAppealQuery, + variables: { disputeID: id?.toString() }, + } + : false + ); + const result = data ? (data as ClassicAppealQuery) : undefined; + return { data: result, error, isValidating }; +}; diff --git a/web/src/hooks/queries/useCourtPolicy.ts b/web/src/hooks/queries/useCourtPolicy.ts index be92202d8..32bcdd8bc 100644 --- a/web/src/hooks/queries/useCourtPolicy.ts +++ b/web/src/hooks/queries/useCourtPolicy.ts @@ -1,20 +1,7 @@ -import useSWRImmutable from "swr/immutable"; -import { PolicyRegistry } from "@kleros/kleros-v2-contracts/typechain-types/src/arbitration/PolicyRegistry"; -import { useConnectedContract } from "hooks/useConnectedContract"; +import { useCourtPolicyURI } from "queries/useCourtPolicyURI"; +import { useIPFSQuery } from "../useIPFSQuery"; -export const useCourtPolicy = (courtID?: number) => { - const policyRegistry = useConnectedContract( - "PolicyRegistry" - ) as PolicyRegistry; - return useSWRImmutable( - () => (policyRegistry && courtID ? `PolicyRegistry${courtID}` : false), - async () => { - if (policyRegistry) { - const policyFilter = policyRegistry.filters.PolicyUpdate(courtID); - return policyRegistry - .queryFilter(policyFilter) - .then((events) => events[0]); - } else throw Error; - } - ); +export const useCourtPolicy = (courtID?: string) => { + const { data: policyURI } = useCourtPolicyURI(courtID); + return useIPFSQuery(policyURI); }; diff --git a/web/src/hooks/queries/useCourtPolicyURI.ts b/web/src/hooks/queries/useCourtPolicyURI.ts new file mode 100644 index 000000000..688f31913 --- /dev/null +++ b/web/src/hooks/queries/useCourtPolicyURI.ts @@ -0,0 +1,25 @@ +import useSWRImmutable from "swr/immutable"; +import { gql } from "graphql-request"; +import { CourtPolicyUriQuery } from "src/graphql/generated"; +export type { CourtPolicyUriQuery }; + +const courtPolicyURIQuery = gql` + query CourtPolicyURI($courtID: ID!) { + court(id: $courtID) { + policy + } + } +`; + +export const useCourtPolicyURI = (id?: string | number) => { + const { data, error, isValidating } = useSWRImmutable(() => + typeof id !== "undefined" + ? { + query: courtPolicyURIQuery, + variables: { courtID: id?.toString() }, + } + : false + ); + const result = data ? (data as CourtPolicyUriQuery) : undefined; + return { data: result, error, isValidating }; +}; diff --git a/web/src/hooks/queries/useDisputeDetailsQuery.ts b/web/src/hooks/queries/useDisputeDetailsQuery.ts index 779378ebc..0e1bc8f96 100644 --- a/web/src/hooks/queries/useDisputeDetailsQuery.ts +++ b/web/src/hooks/queries/useDisputeDetailsQuery.ts @@ -6,13 +6,15 @@ export type { DisputeDetailsQuery }; const disputeDetailsQuery = gql` query DisputeDetails($disputeID: ID!) { dispute(id: $disputeID) { - courtID { + court { id timesPerPeriod hiddenVotes feeForJuror } - arbitrated + arbitrated { + id + } period ruled lastPeriodChange @@ -21,10 +23,14 @@ const disputeDetailsQuery = gql` `; export const useDisputeDetailsQuery = (id?: string | number) => { - const { data, error, isValidating } = useSWR({ - query: () => (typeof id !== "undefined" ? disputeDetailsQuery : false), - variables: { disputeID: id?.toString() }, - }); + const { data, error, isValidating } = useSWR(() => + typeof id !== "undefined" + ? { + query: disputeDetailsQuery, + variables: { disputeID: id?.toString() }, + } + : false + ); const result = data ? (data as DisputeDetailsQuery) : undefined; return { data: result, error, isValidating }; }; diff --git a/web/src/hooks/queries/useDisputeKitClassicMultipliers.ts b/web/src/hooks/queries/useDisputeKitClassicMultipliers.ts new file mode 100644 index 000000000..b3da35f28 --- /dev/null +++ b/web/src/hooks/queries/useDisputeKitClassicMultipliers.ts @@ -0,0 +1,23 @@ +import useSWRImmutable from "swr/immutable"; +import { useConnectedContract } from "hooks/useConnectedContract"; + +export const useDisputeKitClassicMultipliers = () => { + const disputeKitClassic = useConnectedContract("DisputeKitClassic"); + return useSWRImmutable( + () => (disputeKitClassic ? `Multipliers` : false), + async () => { + if (!disputeKitClassic) return; + const winner_stake_multiplier = + await disputeKitClassic.WINNER_STAKE_MULTIPLIER(); + const loser_stake_multiplier = + await disputeKitClassic.LOSER_STAKE_MULTIPLIER(); + const loser_appeal_period_multiplier = + await disputeKitClassic.LOSER_APPEAL_PERIOD_MULTIPLIER(); + return { + winner_stake_multiplier, + loser_stake_multiplier, + loser_appeal_period_multiplier, + }; + } + ); +}; diff --git a/web/src/hooks/queries/useDrawQuery.ts b/web/src/hooks/queries/useDrawQuery.ts index 8c85b735c..f789d95ff 100644 --- a/web/src/hooks/queries/useDrawQuery.ts +++ b/web/src/hooks/queries/useDrawQuery.ts @@ -8,9 +8,6 @@ const drawQuery = gql` draws(where: { dispute: $disputeID, juror: $address }) { voteID } - votes(where: { dispute: $disputeID, juror: $address }) { - id - } } `; diff --git a/web/src/hooks/queries/useEvidences.ts b/web/src/hooks/queries/useEvidences.ts index 5e1445929..2f92c8c30 100644 --- a/web/src/hooks/queries/useEvidences.ts +++ b/web/src/hooks/queries/useEvidences.ts @@ -12,7 +12,9 @@ const evidencesQuery = gql` ) { id evidence - sender + sender { + id + } } } `; diff --git a/web/src/hooks/queries/useGetMetaEvidence.ts b/web/src/hooks/queries/useGetMetaEvidence.ts index c78fa47eb..0002054ae 100644 --- a/web/src/hooks/queries/useGetMetaEvidence.ts +++ b/web/src/hooks/queries/useGetMetaEvidence.ts @@ -11,7 +11,7 @@ export const useGetMetaEvidence = ( : undefined; const arbitrable = useConnectedContract("IMetaEvidence", formattedAddress); return useSWRImmutable( - () => (arbitrable ? `MetaEvidence{disputeID}${arbitrableAddress}` : false), + () => (arbitrable ? `MetaEvidence${disputeID}${arbitrableAddress}` : false), async () => { if (arbitrable) { const disputeFilter = arbitrable.filters.Dispute(null, disputeID); diff --git a/web/src/hooks/queries/useHomePageQuery.ts b/web/src/hooks/queries/useHomePageQuery.ts index 7f83658cc..f7f44c657 100644 --- a/web/src/hooks/queries/useHomePageQuery.ts +++ b/web/src/hooks/queries/useHomePageQuery.ts @@ -8,25 +8,13 @@ const homePageQuery = gql` disputes(first: 3) { id } - pnkstakedDataPoints(where: { id_gt: $timeframe }) { + counters(where: { id_gt: $timeframe }) { id - value - } - ethpaidDataPoints(where: { id_gt: $timeframe }) { - id - value - } - pnkredistributedDataPoints(where: { id_gt: $timeframe }) { - id - value - } - activeJurorsDataPoints(where: { id_gt: $timeframe }) { - id - value - } - casesDataPoints(where: { id_gt: $timeframe }) { - id - value + stakedPNK + paidETH + redistributedPNK + activeJurors + cases } } `; diff --git a/web/src/hooks/queries/useVotingHistory.ts b/web/src/hooks/queries/useVotingHistory.ts index 966939d8c..8ae2b9c3a 100644 --- a/web/src/hooks/queries/useVotingHistory.ts +++ b/web/src/hooks/queries/useVotingHistory.ts @@ -8,13 +8,20 @@ const votingHistoryQuery = gql` dispute(id: $disputeID) { rounds { nbVotes - totalVoted - votes { - juror { - id + } + disputeKitDispute { + localRounds { + ... on ClassicRound { + totalVoted + votes { + id + choice + justification + juror { + id + } + } } - choice - justification } } } @@ -22,10 +29,14 @@ const votingHistoryQuery = gql` `; export const useVotingHistory = (disputeID?: string) => { - const { data, error, isValidating } = useSWR({ - query: votingHistoryQuery, - variables: { disputeID }, - }); + const { data, error, isValidating } = useSWR(() => + typeof disputeID !== "undefined" + ? { + query: votingHistoryQuery, + variables: { disputeID }, + } + : false + ); const result = data ? (data as VotingHistoryQuery) : undefined; return { data: result, error, isValidating }; }; diff --git a/web/src/hooks/useConnectedContract.ts b/web/src/hooks/useConnectedContract.ts index a4f09b286..5de92f75a 100644 --- a/web/src/hooks/useConnectedContract.ts +++ b/web/src/hooks/useConnectedContract.ts @@ -7,7 +7,6 @@ export type { ContractName }; export const useConnectedContract = ( contractName: ContractName, contractAddress?: string - // chainId?: number ) => { const { library } = useWeb3(); const contract = getContract(contractName, contractAddress); diff --git a/web/src/hooks/useHomePageContext.tsx b/web/src/hooks/useHomePageContext.tsx index 2eec861ef..9ec6b5529 100644 --- a/web/src/hooks/useHomePageContext.tsx +++ b/web/src/hooks/useHomePageContext.tsx @@ -8,12 +8,7 @@ interface IContext { isValidating: boolean; } -export type HomePageQueryDataPoints = - | HomePageQuery["pnkstakedDataPoints"] - | HomePageQuery["pnkredistributedDataPoints"] - | HomePageQuery["casesDataPoints"] - | HomePageQuery["ethpaidDataPoints"] - | HomePageQuery["activeJurorsDataPoints"]; +export type HomePageQueryDataPoints = keyof HomePageQuery["counters"][number]; const Context = createContext({ data: undefined, diff --git a/web/src/layout/Header/index.tsx b/web/src/layout/Header/index.tsx index d936ad6b8..b82f299a4 100644 --- a/web/src/layout/Header/index.tsx +++ b/web/src/layout/Header/index.tsx @@ -44,9 +44,9 @@ const OpenContext = React.createContext({ }, }); -export const useOpenContext = () => { +export function useOpenContext() { return useContext(OpenContext); -}; +} const Header: React.FC = () => { const [isOpen, setIsOpen] = useState(false); diff --git a/web/src/pages/Cases/CaseDetails/Appeal/Classic/Fund.tsx b/web/src/pages/Cases/CaseDetails/Appeal/Classic/Fund.tsx new file mode 100644 index 000000000..f9dc389c6 --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/Classic/Fund.tsx @@ -0,0 +1,37 @@ +import React from "react"; +import styled from "styled-components"; +import { Field, Button } from "@kleros/ui-components-library"; + +const Fund: React.FC = () => { + return ( +
+ +
+ + +
+
+ ); +}; + +const StyledField = styled(Field)` + width: 100%; + & > input { + text-align: center; + } + &:before { + position: absolute; + content: "ETH"; + right: 12px; + top: 50%; + transform: translateY(-50%); + color: ${({ theme }) => theme.primaryText}; + } +`; + +const StyledButton = styled(Button)` + margin: auto; + margin-top: 12px; +`; + +export default Fund; diff --git a/web/src/pages/Cases/CaseDetails/Appeal/Classic/Options.tsx b/web/src/pages/Cases/CaseDetails/Appeal/Classic/Options.tsx new file mode 100644 index 000000000..f7e958720 --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/Classic/Options.tsx @@ -0,0 +1,95 @@ +import React from "react"; +import styled from "styled-components"; +import { BigNumber } from "ethers"; +import { useParams } from "react-router-dom"; +import { useGetMetaEvidence } from "queries/useGetMetaEvidence"; +import { + useClassicAppealQuery, + ClassicAppealQuery, +} from "queries/useClassicAppealQuery"; +import { useAppealCost } from "queries/useAppealCost"; +import { useDisputeKitClassicMultipliers } from "queries/useDisputeKitClassicMultipliers"; +import StageExplainer from "./StageExplainer"; +import OptionCard from "../OptionCard"; + +const ONE_BASIS_POINT = BigNumber.from("1000"); + +interface IOptions { + selectedOption: undefined | number; + setSelectedOption: (arg0: number) => void; +} + +const Options: React.FC = ({ selectedOption, setSelectedOption }) => { + const { id } = useParams(); + const { data } = useClassicAppealQuery(id); + const paidFees = getPaidFees(data?.dispute); + const winningChoice = getWinningChoice(data?.dispute); + const { data: appealCost } = useAppealCost(id); + const arbitrable = data?.dispute?.arbitrated.id; + const { data: metaEvidence } = useGetMetaEvidence(id, arbitrable); + const { data: multipliers } = useDisputeKitClassicMultipliers(); + return ( + + + + + {typeof paidFees !== "undefined" && + typeof multipliers !== "undefined" && + metaEvidence?.rulingOptions?.titles?.map( + (answer: string, i: number) => ( + setSelectedOption(i)} + /> + ) + )} + + + ); +}; + +const getCurrentLocalRound = (dispute?: ClassicAppealQuery["dispute"]) => { + const currentLocalRoundIndex = + dispute?.disputeKitDispute?.currentLocalRoundIndex; + return dispute?.disputeKitDispute?.localRounds[currentLocalRoundIndex]; +}; + +const getPaidFees = (dispute?: ClassicAppealQuery["dispute"]) => { + const currentLocalRound = getCurrentLocalRound(dispute); + return currentLocalRound?.paidFees; +}; + +const getWinningChoice = (dispute?: ClassicAppealQuery["dispute"]) => { + const currentLocalRound = getCurrentLocalRound(dispute); + return currentLocalRound?.winningChoice; +}; + +const Container = styled.div` + margin: 24px 0; +`; + +const OptionsContainer = styled.div` + display: flex; + flex-wrap: wrap; + gap: 24px; + margin-top: 12px; +`; + +export default Options; diff --git a/web/src/pages/Cases/CaseDetails/Appeal/Classic/StageExplainer.tsx b/web/src/pages/Cases/CaseDetails/Appeal/Classic/StageExplainer.tsx new file mode 100644 index 000000000..e69f6c613 --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/Classic/StageExplainer.tsx @@ -0,0 +1,78 @@ +import React from "react"; +import styled from "styled-components"; +import { Box } from "@kleros/ui-components-library"; +import { secondsToDayHourMinute, getTimeLeft } from "utils/date"; + +interface IStageExplainer { + lastPeriodChange: string; + appealPeriodDuration: string; + loserTimeMultiplier: string; +} + +const StageExplainer: React.FC = ({ + lastPeriodChange, + appealPeriodDuration, + loserTimeMultiplier, +}) => { + const timeLeft = secondsToDayHourMinute( + getTimeLeft( + parseInt(lastPeriodChange, 10), + parseInt(loserTimeMultiplier, 10) * parseInt(appealPeriodDuration, 10) + ) + ); + return ( + + +
+ + In this stage, at least one of the losing options must be fully funded + to proceed. + + + If no option is fully funded in time, the jury decision is maintained. + +
+
+ ); +}; + +const StyledBox = styled(Box)` + border-radius: 3px; + margin: 24px 0; + height: auto; + width: 100%; + padding: 16px 0; + padding-right: 24px; + display: flex; + align-items: center; + small { + display: block; + } +`; + +const StageIndicator: React.FC = () => ( + +

Stage

+

1

+
+); + +const IndicatorContainer = styled.div` + flex-shrink: 0; + border-right: 1px solid ${({ theme }) => theme.secondaryPurple}; + margin-right: 24px; + height: 70px; + width: 100px; + > h2 { + color: ${({ theme }) => theme.secondaryPurple}; + margin-bottom: 8px; + text-align: center; + } + > h1 { + color: ${({ theme }) => theme.secondaryPurple}; + margin: 0px; + text-align: center; + } +`; + +export default StageExplainer; diff --git a/web/src/pages/Cases/CaseDetails/Appeal/Classic/index.tsx b/web/src/pages/Cases/CaseDetails/Appeal/Classic/index.tsx new file mode 100644 index 000000000..fcb8672a3 --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/Classic/index.tsx @@ -0,0 +1,23 @@ +import React, { useState } from "react"; +import { useParams } from "react-router-dom"; +import { useWeb3 } from "hooks/useWeb3"; +import Options from "./Options"; +import Fund from "./Fund"; + +const Classic: React.FC = () => { + const { account } = useWeb3(); + const { id } = useParams(); + const [selectedOption, setSelectedOption] = useState(); + return ( + <> +

Appeal crowdfunding

+ + + + + ); +}; + +export default Classic; diff --git a/web/src/pages/Cases/CaseDetails/Appeal/OptionCard.tsx b/web/src/pages/Cases/CaseDetails/Appeal/OptionCard.tsx new file mode 100644 index 000000000..d64e4af1e --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/OptionCard.tsx @@ -0,0 +1,94 @@ +import React from "react"; +import styled from "styled-components"; +import { useMeasure } from "react-use"; +import { Card, Radio, LinearProgress } from "@kleros/ui-components-library"; +import Gavel from "svgs/icons/gavel.svg"; +import { BigNumber, utils } from "ethers"; + +interface IOptionCard extends React.HTMLAttributes { + text: string; + funding: BigNumber; + required: BigNumber; + winner?: boolean; + selected?: boolean; +} + +const OptionCard: React.FC = ({ + text, + funding, + required, + winner, + selected, + ...props +}) => { + const [ref, { width }] = useMeasure(); + return ( + + +
+ {text} + + + Jury decision - {winner ? "Winner" : "Loser"} + +
+ +
+ + + + +
+ ); +}; + +const StyledCard = styled(Card)` + width: 100%; + padding: 24px; + &:hover { + cursor: pointer; + } +`; + +const WinnerLabel = styled.label<{ winner: boolean }>` + color: ${({ theme, winner }) => (winner ? theme.success : theme.warning)}; + svg { + width: 12px; + margin-right: 4px; + fill: ${({ theme, winner }) => (winner ? theme.success : theme.warning)}; + } +`; + +const StyledRadio = styled(Radio)` + padding-left: 24px; + > input { + display: none; + } +`; + +const TopContainer = styled.div` + display: flex; + justify-content: space-between; + height: 50%; + .block { + display: block; + } +`; + +const LabelContainer = styled.div` + width: 100%; + display: flex; + justify-content: center; +`; + +export default OptionCard; diff --git a/web/src/pages/Cases/CaseDetails/Appeal/index.tsx b/web/src/pages/Cases/CaseDetails/Appeal/index.tsx new file mode 100644 index 000000000..c98f0029c --- /dev/null +++ b/web/src/pages/Cases/CaseDetails/Appeal/index.tsx @@ -0,0 +1,8 @@ +import React from "react"; +import Classic from "./Classic"; + +const Appeal: React.FC = () => { + return ; +}; + +export default Appeal; diff --git a/web/src/pages/Cases/CaseDetails/Evidence/index.tsx b/web/src/pages/Cases/CaseDetails/Evidence/index.tsx index 0968102e6..21c152d5b 100644 --- a/web/src/pages/Cases/CaseDetails/Evidence/index.tsx +++ b/web/src/pages/Cases/CaseDetails/Evidence/index.tsx @@ -8,7 +8,7 @@ import { useEvidences } from "queries/useEvidences"; import SubmitEvidenceModal from "./SubmitEvidenceModal"; import EvidenceCard from "components/EvidenceCard"; -const Evidence: React.FC<{ arbitrable: string }> = ({ arbitrable }) => { +const Evidence: React.FC<{ arbitrable?: string }> = ({ arbitrable }) => { const [isModalOpen, setIsModalOpen] = useState(false); const { id } = useParams(); const { data: evidenceGroup } = useEvidenceGroup(id, arbitrable); @@ -33,7 +33,12 @@ const Evidence: React.FC<{ arbitrable: string }> = ({ arbitrable }) => { /> {data && data.evidences.map(({ evidence, sender }, i) => ( - + ))} ); @@ -41,7 +46,6 @@ const Evidence: React.FC<{ arbitrable: string }> = ({ arbitrable }) => { const Container = styled.div` width: 100%; - padding: 16px; display: flex; flex-direction: column; gap: 16px; diff --git a/web/src/pages/Cases/CaseDetails/Overview.tsx b/web/src/pages/Cases/CaseDetails/Overview.tsx index 3045053ad..09528a674 100644 --- a/web/src/pages/Cases/CaseDetails/Overview.tsx +++ b/web/src/pages/Cases/CaseDetails/Overview.tsx @@ -5,27 +5,23 @@ import { utils } from "ethers"; import { useDisputeDetailsQuery } from "queries/useDisputeDetailsQuery"; import { useGetMetaEvidence } from "queries/useGetMetaEvidence"; import { useCourtPolicy } from "queries/useCourtPolicy"; -import { useIPFSQuery } from "hooks/useIPFSQuery"; +import { useCourtPolicyURI } from "queries/useCourtPolicyURI"; import PolicyIcon from "svgs/icons/policy.svg"; import DisputeInfo from "components/DisputeCard/DisputeInfo"; -const Overview: React.FC<{ arbitrable: string; courtID?: string }> = ({ +const Overview: React.FC<{ arbitrable?: string; courtID?: string }> = ({ arbitrable, courtID, }) => { const { id } = useParams(); const { data: metaEvidence } = useGetMetaEvidence(id, arbitrable); - const { data: disputeDetails } = useDisputeDetailsQuery( - id ? parseInt(id) : undefined - ); - const { data: courtPolicyEvent } = useCourtPolicy( - courtID ? parseInt(courtID) : undefined - ); - const courtPolicyPath = courtPolicyEvent?.args._policy; - const { data: courtPolicy } = useIPFSQuery(courtPolicyPath); + const { data: disputeDetails } = useDisputeDetailsQuery(id); + const { data: courtPolicyURI } = useCourtPolicyURI(courtID); + const { data: courtPolicy } = useCourtPolicy(courtID); const courtName = courtPolicy?.name; - const rewards = disputeDetails?.dispute?.courtID - ? `≥ ${utils.formatEther(disputeDetails?.dispute?.courtID.feeForJuror)} ETH` + const court = disputeDetails?.dispute?.court; + const rewards = court + ? `≥ ${utils.formatEther(court.feeForJuror)} ETH` : undefined; const category = metaEvidence ? metaEvidence.category : undefined; return ( @@ -65,7 +61,7 @@ const Overview: React.FC<{ arbitrable: string; courtID?: string }> = ({ )} {courtPolicy && ( @@ -79,15 +75,9 @@ const Overview: React.FC<{ arbitrable: string; courtID?: string }> = ({ ); }; -// {metaEvidence?.aliases && -// Object.keys(metaEvidence.aliases).length !== 0 ? ( -//
-// ) : null} - const Container = styled.div` width: 100%; height: auto; - padding: 16px; display: flex; flex-direction: column; gap: 16px; @@ -143,11 +133,4 @@ const LinkContainer = styled.div` justify-content: space-between; `; -// const StyledIFrame = styled.iframe` -// width: 1px; -// min-width: 100%; -// height: 360px; -// border: none; -// `; - export default Overview; diff --git a/web/src/pages/Cases/CaseDetails/Timeline.tsx b/web/src/pages/Cases/CaseDetails/Timeline.tsx index bec16615a..65792ab85 100644 --- a/web/src/pages/Cases/CaseDetails/Timeline.tsx +++ b/web/src/pages/Cases/CaseDetails/Timeline.tsx @@ -28,8 +28,8 @@ const currentPeriodToCurrentItem = ( currentPeriodIndex: number, ruled?: boolean ): number => { - if (currentPeriodIndex <= Periods.Commit) return currentPeriodIndex; - else if (currentPeriodIndex < Periods.Execution) + if (currentPeriodIndex <= Periods.commit) return currentPeriodIndex; + else if (currentPeriodIndex < Periods.execution) return currentPeriodIndex - 1; else return ruled ? currentPeriodIndex : currentPeriodIndex - 1; }; @@ -52,14 +52,14 @@ const getTimeline = ( secondsToDayHourMinute( getTimeLeft( parseInt(dispute?.lastPeriodChange, 10), - parseInt(dispute?.courtID.timesPerPeriod[index], 10) + parseInt(dispute?.court.timesPerPeriod[index], 10) ) ), ]; } else if (index === 3) { return []; } else { - return [secondsToDayHourMinute(dispute?.courtID.timesPerPeriod[index])]; + return [secondsToDayHourMinute(dispute?.court.timesPerPeriod[index])]; } }; return titles.map((title, i) => ({ diff --git a/web/src/pages/Cases/CaseDetails/Voting/Binary.tsx b/web/src/pages/Cases/CaseDetails/Voting/Binary.tsx index 18fab2f2b..48ca038a5 100644 --- a/web/src/pages/Cases/CaseDetails/Voting/Binary.tsx +++ b/web/src/pages/Cases/CaseDetails/Voting/Binary.tsx @@ -6,7 +6,7 @@ import { Button, Textarea } from "@kleros/ui-components-library"; import { useConnectedContract } from "hooks/useConnectedContract"; import { useGetMetaEvidence } from "queries/useGetMetaEvidence"; -const Binary: React.FC<{ arbitrable: string; voteIDs: string[] }> = ({ +const Binary: React.FC<{ arbitrable?: string; voteIDs: string[] }> = ({ arbitrable, voteIDs, }) => { @@ -89,7 +89,6 @@ const Container = styled.div` const MainContainer = styled.div` width: 100%; height: auto; - padding: 24px; `; const StyledTextarea = styled(Textarea)` diff --git a/web/src/pages/Cases/CaseDetails/Voting/VotingHistory.tsx b/web/src/pages/Cases/CaseDetails/Voting/VotingHistory.tsx index e1ed10dbf..3f4d52779 100644 --- a/web/src/pages/Cases/CaseDetails/Voting/VotingHistory.tsx +++ b/web/src/pages/Cases/CaseDetails/Voting/VotingHistory.tsx @@ -8,16 +8,17 @@ import { useVotingHistory } from "queries/useVotingHistory"; import { useGetMetaEvidence } from "queries/useGetMetaEvidence"; import { shortenAddress } from "utils/shortenAddress"; -const VotingHistory: React.FC<{ arbitrable: string }> = ({ arbitrable }) => { +const VotingHistory: React.FC<{ arbitrable?: string }> = ({ arbitrable }) => { const { id } = useParams(); const { data: votingHistory } = useVotingHistory(id); const [currentTab, setCurrentTab] = useState(0); const { data: metaEvidence } = useGetMetaEvidence(id, arbitrable); const rounds = votingHistory?.dispute?.rounds; + const localRounds = votingHistory?.dispute?.disputeKitDispute?.localRounds; return (

Voting History

- {rounds && metaEvidence && ( + {rounds && localRounds && metaEvidence && ( <>

{metaEvidence.question}

= ({ arbitrable }) => {

- {rounds.at(currentTab)?.totalVoted === + {localRounds.at(currentTab)?.totalVoted === rounds.at(currentTab)?.nbVotes ? "All jurors voted" - : `${rounds.at(currentTab)?.totalVoted} jurors voted out of ${ - rounds.at(currentTab)?.nbVotes - }`} + : localRounds.at(currentTab)?.totalVoted + + " jurors voted out of " + + rounds.at(currentTab)?.nbVotes}

({ + localRounds.at(currentTab)?.votes.map((vote) => ({ title: shortenAddress(vote.juror.id), Icon: () => ( = ({ arbitrable }) => { ); }; -const Container = styled.div` - padding: 16px; -`; +const Container = styled.div``; const StyledTabs = styled(Tabs)` width: 100%; diff --git a/web/src/pages/Cases/CaseDetails/Voting/index.tsx b/web/src/pages/Cases/CaseDetails/Voting/index.tsx index b0d69aec2..367fb030b 100644 --- a/web/src/pages/Cases/CaseDetails/Voting/index.tsx +++ b/web/src/pages/Cases/CaseDetails/Voting/index.tsx @@ -5,11 +5,12 @@ import { useDrawQuery } from "queries/useDrawQuery"; import Binary from "./Binary"; import VotingHistory from "./VotingHistory"; -const Voting: React.FC<{ arbitrable: string }> = ({ arbitrable }) => { +const Voting: React.FC<{ arbitrable?: string }> = ({ arbitrable }) => { const { account } = useWeb3(); const { id } = useParams(); const { data } = useDrawQuery(account?.toLowerCase(), id); - return data && data.draws?.length > 0 && data.votes?.length === 0 ? ( + console.log(data?.draws.length); + return data && data.draws?.length > 0 ? ( draw.voteID)} diff --git a/web/src/pages/Cases/CaseDetails/index.tsx b/web/src/pages/Cases/CaseDetails/index.tsx index e08b9ea12..7589c7c0d 100644 --- a/web/src/pages/Cases/CaseDetails/index.tsx +++ b/web/src/pages/Cases/CaseDetails/index.tsx @@ -9,12 +9,14 @@ import Timeline from "./Timeline"; import Overview from "./Overview"; import Evidence from "./Evidence"; import Voting from "./Voting"; +import Appeal from "./Appeal"; const CaseDetails: React.FC = () => { const { id } = useParams(); const { data } = useDisputeDetailsQuery(id); const dispute = data?.dispute; const currentPeriodIndex = dispute ? Periods[dispute.period] : 0; + const arbitrable = dispute?.arbitrated.id; return (

Case #{id}

@@ -25,20 +27,12 @@ const CaseDetails: React.FC = () => { + } /> - } - /> - } - /> + } /> + } /> + } /> } /> @@ -53,6 +47,7 @@ const StyledCard = styled(Card)` width: 100%; height: auto; min-height: 100px; + padding: 16px; `; export default CaseDetails; diff --git a/web/src/pages/Cases/index.tsx b/web/src/pages/Cases/index.tsx index c4c4eb190..8e062833c 100644 --- a/web/src/pages/Cases/index.tsx +++ b/web/src/pages/Cases/index.tsx @@ -25,7 +25,7 @@ const Cases: React.FC = () => { data && ( ) diff --git a/web/src/pages/Dashboard/index.tsx b/web/src/pages/Dashboard/index.tsx index 4ee806a5f..5d17ce2da 100644 --- a/web/src/pages/Dashboard/index.tsx +++ b/web/src/pages/Dashboard/index.tsx @@ -28,7 +28,7 @@ const Dashboard: React.FC = () => { )} diff --git a/web/src/pages/Home/CourtOverview/Chart.tsx b/web/src/pages/Home/CourtOverview/Chart.tsx index 5053f066c..071362ccd 100644 --- a/web/src/pages/Home/CourtOverview/Chart.tsx +++ b/web/src/pages/Home/CourtOverview/Chart.tsx @@ -17,8 +17,8 @@ const StyledDropdown = styled(DropdownSelect)` `; const CHART_OPTIONS = [ - { text: "Staked PNK", value: "pnkstakedDataPoints" }, - { text: "Cases", value: "casesDataPoints" }, + { text: "Staked PNK", value: "stakedPNK" }, + { text: "Cases", value: "cases" }, { text: "Cases per court", value: 2 }, ]; @@ -29,7 +29,7 @@ const ChartOptionsDropdown: React.FC<{ smallButton simpleButton alignRight - defaultValue={"pnkstakedDataPoints"} + defaultValue={"stakedPNK"} items={CHART_OPTIONS} callback={(newValue: string) => { setChartOption(newValue); @@ -43,25 +43,22 @@ interface IChartData { } const Chart: React.FC = () => { - const [chartOption, setChartOption] = useState("pnkstakedDataPoints"); + const [chartOption, setChartOption] = useState("stakedPNK"); const { data } = useHomePageContext(); - const chartData = data?.[chartOption]; - const processedData = chartData?.reduce( - (accData: IChartData[], { id, value }: { id: string; value: string }) => { - return [ - ...accData, - { - x: Number(id) * 1000, - y: Number( - chartOption === "pnkstakedDataPoints" - ? utils.formatUnits(value, 18) - : value - ), - }, - ]; - }, - [] - ); + const chartData = data?.counters; + const processedData = chartData?.reduce((accData: IChartData[], counter) => { + return [ + ...accData, + { + x: Number(counter.id) * 1000, + y: Number( + chartOption === "stakedPNK" + ? utils.formatUnits(counter[chartOption], 18) + : counter[chartOption] + ), + }, + ]; + }, []); return ( diff --git a/web/src/pages/Home/CourtOverview/Stats.tsx b/web/src/pages/Home/CourtOverview/Stats.tsx index b0aa27017..895d6d261 100644 --- a/web/src/pages/Home/CourtOverview/Stats.tsx +++ b/web/src/pages/Home/CourtOverview/Stats.tsx @@ -25,13 +25,15 @@ const StyledCard = styled(Card)` flex-wrap: wrap; `; -const getLastOrZero = (src: HomePageQueryDataPoints) => - src.length > 0 ? src.at(-1)?.value : BigNumber.from(0).toString(); +const getLastOrZero = ( + src: HomePageQuery["counters"], + stat: HomePageQueryDataPoints +) => (src.length > 0 ? src.at(-1)?.[stat] : BigNumber.from(0).toString()); interface IStat { title: string; - getText: (data: HomePageQuery) => string; - getSubtext: (data: HomePageQuery) => string; + getText: (data: HomePageQuery["counters"]) => string; + getSubtext: (data: HomePageQuery["counters"]) => string; color: IStatDisplay["color"]; icon: React.FC>; } @@ -39,25 +41,27 @@ interface IStat { const stats: IStat[] = [ { title: "PNK staked", - getText: ({ pnkstakedDataPoints }) => - utils.commify(utils.formatUnits(getLastOrZero(pnkstakedDataPoints), 18)), + getText: (counters) => + utils.commify( + utils.formatUnits(getLastOrZero(counters, "stakedPNK"), 18) + ), getSubtext: () => "$ 3 000 000", color: "purple", icon: PNKIcon, }, { title: "ETH Paid to jurors", - getText: ({ ethpaidDataPoints }) => - utils.commify(utils.formatEther(getLastOrZero(ethpaidDataPoints))), + getText: (counters) => + utils.commify(utils.formatEther(getLastOrZero(counters, "paidETH"))), getSubtext: () => "$ 3,000,000", color: "blue", icon: EthereumIcon, }, { title: "PNK redistributed", - getText: ({ pnkredistributedDataPoints }) => + getText: (counters) => utils.commify( - utils.formatUnits(getLastOrZero(pnkredistributedDataPoints), 18) + utils.formatUnits(getLastOrZero(counters, "redistributedPNK"), 18) ), getSubtext: () => "$ 3,000,000", color: "purple", @@ -65,15 +69,14 @@ const stats: IStat[] = [ }, { title: "Active jurors", - getText: ({ activeJurorsDataPoints }) => - getLastOrZero(activeJurorsDataPoints), + getText: (counters) => getLastOrZero(counters, "activeJurors"), getSubtext: () => "$ 3,000,000", color: "green", icon: JurorIcon, }, { title: "Cases", - getText: ({ casesDataPoints }) => getLastOrZero(casesDataPoints), + getText: (counters) => getLastOrZero(counters, "cases"), getSubtext: () => "$ 3,000,000", color: "orange", icon: BalanceIcon, @@ -88,8 +91,8 @@ const Stats = () => { ))} diff --git a/yarn.lock b/yarn.lock index 2aacb49c0..45f818b60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -630,12 +630,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.9.2": - version: 7.20.1 - resolution: "@babel/runtime@npm:7.20.1" +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.9.2": + version: 7.20.6 + resolution: "@babel/runtime@npm:7.20.6" dependencies: - regenerator-runtime: ^0.13.10 - checksum: 00567a333d3357925742a6f5e39394dcc0af6e6029103fe188158bf7ae8b0b3ee3c6c0f68fccc217f0a6cfa455f6be252298baf56b3f5ff37b34313b170cd9f6 + regenerator-runtime: ^0.13.11 + checksum: 42a8504db21031b1859fbc0f52d698a3d2f5ada9519eb76c6f96a7e657d8d555732a18fe71ef428a67cc9fc81ca0d3562fb7afdc70549c5fec343190cbaa9b03 languageName: node linkType: hard @@ -2315,9 +2315,9 @@ __metadata: "@graphql-codegen/typescript-operations": ^2.5.6 "@kleros/kleros-v2-contracts": "workspace:^" "@kleros/ui-components-library": ^1.9.0 - "@parcel/transformer-svg-react": ^2.7.0 - "@types/react": ^18.0.24 - "@types/react-dom": ^18.0.6 + "@parcel/transformer-svg-react": ^2.8.2 + "@types/react": ^18.0.26 + "@types/react-dom": ^18.0.10 "@types/react-modal": ^3.13.1 "@types/styled-components": ^5.1.26 "@typescript-eslint/eslint-plugin": ^5.43.0 @@ -2343,7 +2343,7 @@ __metadata: graphql-request: ^5.0.0 lru-cache: ^7.8.0 moment: ^2.29.4 - parcel: ^2.7.0 + parcel: ^2.8.2 prettier: ^2.5.1 react: ^18.2.0 react-chartjs-2: ^4.3.1 @@ -2354,6 +2354,7 @@ __metadata: react-loading-skeleton: ^3.1.0 react-modal: ^3.16.1 react-router-dom: ^6.4.2 + react-use: ^17.4.0 styled-components: ^5.3.6 swr: ^1.3.0 typescript: ^4.5.5 @@ -3030,110 +3031,110 @@ __metadata: languageName: node linkType: hard -"@parcel/bundler-default@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/bundler-default@npm:2.8.0" +"@parcel/bundler-default@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/bundler-default@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/graph": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/graph": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 - checksum: bfa9a9d1597a261787a30c19212d07496d6961ff2be195c12a0b0e862218a135ca7bb88aa840ce625d7c34c48507e2e485b1abeeb61542b447cb2f3754a7fe84 + checksum: 8330a762483965e722f91a2c4d899c09035bd46c575b6e9a28e0943c68fa6ca717b4ddf126c7e6e8097597072f7f59a64f4bdd60b2125c540c9a43c4ba2b7688 languageName: node linkType: hard -"@parcel/cache@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/cache@npm:2.8.0" +"@parcel/cache@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/cache@npm:2.8.2" dependencies: - "@parcel/fs": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/fs": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/utils": 2.8.2 lmdb: 2.5.2 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 93b2849d1d96121edad0f04141fdb691bb5c33a93f903439dc36184301c65d3ab603d86dc0311b3998c39622661237f7429b35a19efbc27f0afcf60d00909882 + "@parcel/core": ^2.8.2 + checksum: 7d1c951e3f1f270621d369a8b9ba18bf8df397e39adfbfa8d0a55d7ae888353d62b9fa64c2edf79efceefbb7be452b02cdfc1bf086e9e65720080ef0988d3ecf languageName: node linkType: hard -"@parcel/codeframe@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/codeframe@npm:2.8.0" +"@parcel/codeframe@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/codeframe@npm:2.8.2" dependencies: chalk: ^4.1.0 - checksum: ff7d4b3f5c8df03deec6fbdb7bd7d622370232e872dc8bdf5787f98fe85d482053ff7506dc4b2a12923401422fe706ffae3d1aaed3fba29d910b2d25eb399662 + checksum: a2638353c60808434c5553af552561b4792e28ef34d0ecaf063adcddddfb023b5920568c36f2c23f0fe7535f254c83b17ebf80740745c5368b99ab6a300bf912 languageName: node linkType: hard -"@parcel/compressor-raw@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/compressor-raw@npm:2.8.0" +"@parcel/compressor-raw@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/compressor-raw@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - checksum: 9d6ec5fca5eeecf4c53af337371787c3e92fde3e508bde903aba521fed13e949dfa0a4ab4fdf29d2cdf77ee1a217152b45d431050250f45ed2ce81b957ef346c + "@parcel/plugin": 2.8.2 + checksum: 61a129961592fcd79630e0dd1a80a36e199b1f7351e612bc45f7541aa878c3c590565ee5477fa4fe6facfa66efaef0e79845023980f63e53dd1152a1959552cb languageName: node linkType: hard -"@parcel/config-default@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/config-default@npm:2.8.0" - dependencies: - "@parcel/bundler-default": 2.8.0 - "@parcel/compressor-raw": 2.8.0 - "@parcel/namer-default": 2.8.0 - "@parcel/optimizer-css": 2.8.0 - "@parcel/optimizer-htmlnano": 2.8.0 - "@parcel/optimizer-image": 2.8.0 - "@parcel/optimizer-svgo": 2.8.0 - "@parcel/optimizer-terser": 2.8.0 - "@parcel/packager-css": 2.8.0 - "@parcel/packager-html": 2.8.0 - "@parcel/packager-js": 2.8.0 - "@parcel/packager-raw": 2.8.0 - "@parcel/packager-svg": 2.8.0 - "@parcel/reporter-dev-server": 2.8.0 - "@parcel/resolver-default": 2.8.0 - "@parcel/runtime-browser-hmr": 2.8.0 - "@parcel/runtime-js": 2.8.0 - "@parcel/runtime-react-refresh": 2.8.0 - "@parcel/runtime-service-worker": 2.8.0 - "@parcel/transformer-babel": 2.8.0 - "@parcel/transformer-css": 2.8.0 - "@parcel/transformer-html": 2.8.0 - "@parcel/transformer-image": 2.8.0 - "@parcel/transformer-js": 2.8.0 - "@parcel/transformer-json": 2.8.0 - "@parcel/transformer-postcss": 2.8.0 - "@parcel/transformer-posthtml": 2.8.0 - "@parcel/transformer-raw": 2.8.0 - "@parcel/transformer-react-refresh-wrap": 2.8.0 - "@parcel/transformer-svg": 2.8.0 +"@parcel/config-default@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/config-default@npm:2.8.2" + dependencies: + "@parcel/bundler-default": 2.8.2 + "@parcel/compressor-raw": 2.8.2 + "@parcel/namer-default": 2.8.2 + "@parcel/optimizer-css": 2.8.2 + "@parcel/optimizer-htmlnano": 2.8.2 + "@parcel/optimizer-image": 2.8.2 + "@parcel/optimizer-svgo": 2.8.2 + "@parcel/optimizer-terser": 2.8.2 + "@parcel/packager-css": 2.8.2 + "@parcel/packager-html": 2.8.2 + "@parcel/packager-js": 2.8.2 + "@parcel/packager-raw": 2.8.2 + "@parcel/packager-svg": 2.8.2 + "@parcel/reporter-dev-server": 2.8.2 + "@parcel/resolver-default": 2.8.2 + "@parcel/runtime-browser-hmr": 2.8.2 + "@parcel/runtime-js": 2.8.2 + "@parcel/runtime-react-refresh": 2.8.2 + "@parcel/runtime-service-worker": 2.8.2 + "@parcel/transformer-babel": 2.8.2 + "@parcel/transformer-css": 2.8.2 + "@parcel/transformer-html": 2.8.2 + "@parcel/transformer-image": 2.8.2 + "@parcel/transformer-js": 2.8.2 + "@parcel/transformer-json": 2.8.2 + "@parcel/transformer-postcss": 2.8.2 + "@parcel/transformer-posthtml": 2.8.2 + "@parcel/transformer-raw": 2.8.2 + "@parcel/transformer-react-refresh-wrap": 2.8.2 + "@parcel/transformer-svg": 2.8.2 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 46899bc4053ccdf46dfef3bc59a5a1be2ebdd286e8d1b192ea69293f324affd1cbeb1c7b2f5ecec396c894590d0b6f82f6000621729c5d967a2d362072463958 + "@parcel/core": ^2.8.2 + checksum: 035db3ab37c4efa4fb9081be2106fbc51c75178370a0e9daa836a0c14743ec9afd0089e256a573a8c6d6f99903d1801f2d8f4d233dfb5994c549c8e3c3985384 languageName: node linkType: hard -"@parcel/core@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/core@npm:2.8.0" +"@parcel/core@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/core@npm:2.8.2" dependencies: "@mischnic/json-sourcemap": ^0.1.0 - "@parcel/cache": 2.8.0 - "@parcel/diagnostic": 2.8.0 - "@parcel/events": 2.8.0 - "@parcel/fs": 2.8.0 - "@parcel/graph": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/package-manager": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/cache": 2.8.2 + "@parcel/diagnostic": 2.8.2 + "@parcel/events": 2.8.2 + "@parcel/fs": 2.8.2 + "@parcel/graph": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/package-manager": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 - "@parcel/workers": 2.8.0 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 + "@parcel/workers": 2.8.2 abortcontroller-polyfill: ^1.1.9 base-x: ^3.0.8 browserslist: ^4.6.6 @@ -3144,341 +3145,340 @@ __metadata: msgpackr: ^1.5.4 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: 5f9b2af9bcf81641aadbbec044dc9979d4f6403f55d283ba27c6f80c6bc4255f0ac944ec93d7651449d9daa880de695933b571f164a14e64df270e6967c3c662 + checksum: 0c989ef0874466da4a865ffe88b23b7d73ca1537510f18d833d0ca6d23e7bb38a9593ebc9c813fa4c85f69920b9179237419c090597f4964bb9970d534071434 languageName: node linkType: hard -"@parcel/diagnostic@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/diagnostic@npm:2.8.0" +"@parcel/diagnostic@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/diagnostic@npm:2.8.2" dependencies: "@mischnic/json-sourcemap": ^0.1.0 nullthrows: ^1.1.1 - checksum: 819a76b0fea90df70447fb2852a55e95ce9b6ddbd9a857f347857ad07682bb0c0cd87f18175a022214f4f4bf9fd59e34d5416ee4cf76a39edfc9402f4e0d0a72 + checksum: 91ca29cce40c82f17e42193bdd34a3cacd78eb54c9b5a688c8f6633a0e8d914a0a9dad3b16da833e5012c8fc1ab14ae5d7f46836a31819343f585582f6cbac5d languageName: node linkType: hard -"@parcel/events@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/events@npm:2.8.0" - checksum: e5de7fdac2edd68b51b5efceffddecf1f36bfc1f298a4c767a05485ad94f3f4f195516ccef1d7cd4cde9aab9ba64e71edfe2c98ea77d3afb01328407b2ebd7fe +"@parcel/events@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/events@npm:2.8.2" + checksum: 99aad2e7358b0fad199e779f987bece900f0cbcd404abce1d801b1fa4249d453e71448080765fdc5afd79a9ced8897ced1e26def807c6cb03cdbba5e79661161 languageName: node linkType: hard -"@parcel/fs-search@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/fs-search@npm:2.8.0" +"@parcel/fs-search@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/fs-search@npm:2.8.2" dependencies: detect-libc: ^1.0.3 - checksum: b71b33fb3a2f90ed6a2e3c47e3ac7b12ac33d7d50506fef59187d42227676f8966c2ce05c4bf5bbbffa5b605a6d97bbbc41a1e10887f21c9dd7597efce35f65a + checksum: b6b5956cc1a805c589312a8bff199a009174f2e97db38b03c99fe767105bb6cbe6f7e0796070f8061cd779d1c0f17328983a6c70201702783069153ffa57dfc9 languageName: node linkType: hard -"@parcel/fs@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/fs@npm:2.8.0" +"@parcel/fs@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/fs@npm:2.8.2" dependencies: - "@parcel/fs-search": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/fs-search": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 "@parcel/watcher": ^2.0.7 - "@parcel/workers": 2.8.0 + "@parcel/workers": 2.8.2 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 75d79963a1300d52f222e7921d4d3df121384488c98db58c4c6a824ee47dc1fb7a2e0138f0709a3a43caa40982f56564c66f55428b0e85ef4e9731c86c34a082 + "@parcel/core": ^2.8.2 + checksum: c25408fe2d6919312c3194709639bbb58a174f6f0e33aea26da1a5bc12dedf1c30fe164a2cb4536fecdad572c92b8cb94e7c2588f8c4943a7d17df5016f990c5 languageName: node linkType: hard -"@parcel/graph@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/graph@npm:2.8.0" +"@parcel/graph@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/graph@npm:2.8.2" dependencies: - "@parcel/utils": 2.8.0 nullthrows: ^1.1.1 - checksum: 544f55322aabf258869bb7d448ea990966df8b8632b15d78c2ee8885f9aa12b076fb15fb0656191140ccca52a9a6746aebea81f3a1a048e2474f50bf602efb60 + checksum: d5035979113384d3d5093641e7a98789290d1cf4c781edc28498effa03476d0ae18d5024bfcb1a3888153f444700e2db00d92396bf6aec7561ab47df91013734 languageName: node linkType: hard -"@parcel/hash@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/hash@npm:2.8.0" +"@parcel/hash@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/hash@npm:2.8.2" dependencies: detect-libc: ^1.0.3 xxhash-wasm: ^0.4.2 - checksum: f635695e543e72155026246dcd2cbe39ba4e2fa54c420eeb5f3a88524b19a9112c749a1a338e2dc37af0f39e8aa64aab1e7e33416c1c283eee2e190d5e8751e4 + checksum: 03f11563d2c5f310ebb317ba3f83fea200acc4dca5889a3b4d2a0e1224ec5bd7bfaf709e29d194be41c8967c00bdf29eaf81ff4659295d8b1f19e8d8a72465d5 languageName: node linkType: hard -"@parcel/logger@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/logger@npm:2.8.0" +"@parcel/logger@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/logger@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/events": 2.8.0 - checksum: b4d6666e694ff740283cceb643697a4c46065a960b479892ee229127ec41b36a6a1b2932f9fecd6b75931075d182a8e6a01c9e84a26235cdd24da711209f6ea3 + "@parcel/diagnostic": 2.8.2 + "@parcel/events": 2.8.2 + checksum: 8d9b4264cbe97d6cec43e01f8da6910d965bb06bda06481aafb9fdc609bb141be850fcf09b52fc91e6bdd4fadf5b980f02c587989786e03a242674b3c5846188 languageName: node linkType: hard -"@parcel/markdown-ansi@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/markdown-ansi@npm:2.8.0" +"@parcel/markdown-ansi@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/markdown-ansi@npm:2.8.2" dependencies: chalk: ^4.1.0 - checksum: 4526115a0535a1aa5083550e33efe854c610e95f0d9efd24387e883f62efbfc2eff140831c4b7fffc44184eea374393fbea0d50d3979dc6bb9a772242cbce2ed + checksum: aaff302f122f98b8e15436a28cc700ab66c4a3f56f3f092f91f4de65b01e6ec9f64015149b898a1a1f885406610cac65d3c196250c62ba8ff19abb043792c12c languageName: node linkType: hard -"@parcel/namer-default@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/namer-default@npm:2.8.0" +"@parcel/namer-default@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/namer-default@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 nullthrows: ^1.1.1 - checksum: 2b6f969784697c8e54293def41e643cf0b5522fb2dcfd02f1820eb19e38afb91a560e99558873a032231bbc1c7301767f11b409eab07c15caf77b27baf36f1d5 + checksum: c9592f40228cab63fcda2dbee4413588575113c51ab8794f365b89efd651772aed831a9c547700f00edecae70b819ed81b2c752b683e1a4fdd70bf5e2bb4f4dd languageName: node linkType: hard -"@parcel/node-resolver-core@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/node-resolver-core@npm:2.8.0" +"@parcel/node-resolver-core@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/node-resolver-core@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: a447f237b97ca0435c5acddad4c007f8075611698f9595f97ca03417455fb600f26a9cb08768c03ded7cbb8546d885ee95737e8ae0ea877c31fb83a13cc7bb14 + checksum: 92f0e2bf4bf11535b1113ef53eadfcc760c3f845c976f12b97189e3ef775882178279148a2a9daada7b9468ef1e26468cecd03fcda4a8b4398647acad59639d9 languageName: node linkType: hard -"@parcel/optimizer-css@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/optimizer-css@npm:2.8.0" +"@parcel/optimizer-css@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/optimizer-css@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 browserslist: ^4.6.6 lightningcss: ^1.16.1 nullthrows: ^1.1.1 - checksum: a31c89a2be405046138888c4b6ba209cd640619feb4be3e89006383f70b1267e4d9bcfc619e7b3f8f2809be1592e98dd153239a59dc4baf3497c09a9d135dbca + checksum: 8298155baca2cf1f1f1d8c4bda75ae414fe125b60dfb0719ce12197153230b1be63002b2ce2a5c7255e5083e1aa6a05567ff64d79710a7a01b0a64661519a58f languageName: node linkType: hard -"@parcel/optimizer-htmlnano@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/optimizer-htmlnano@npm:2.8.0" +"@parcel/optimizer-htmlnano@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/optimizer-htmlnano@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 + "@parcel/plugin": 2.8.2 htmlnano: ^2.0.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 svgo: ^2.4.0 - checksum: 68010e586b191737e2aa5c7338e93978857d91ceecf69827cfcde27997a2102b534c5777e207a5479793bf8ebf3cdf0f1976693c23e47855a122e04b663961cf + checksum: 3913b51ccd5b068bca58aa5423ca03a4ce2dfd1ec32a4d5e9168d96ebd4001cd725a8108c40aff1499b0578dd89f6cdd89e8fe597017d477622bf4774bcc8f7b languageName: node linkType: hard -"@parcel/optimizer-image@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/optimizer-image@npm:2.8.0" +"@parcel/optimizer-image@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/optimizer-image@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 - "@parcel/workers": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 + "@parcel/workers": 2.8.2 detect-libc: ^1.0.3 - checksum: c2ae4866f4a0a00ffa07c7a9246b1fc5172ca96291dc3b340df7e44f5bec3ed8bfcd54d9edb87403302da69134aee0e541cbd642a8c48fe88bef53c297611067 + checksum: 7e45b2698b15360204b489da67563e763da91aa7663cb8bd35cd4ce674fcb5a65b5f370fbaabdd6525112b428b1cac77be4a9dc8556d5cf6aec8f14f01cf9940 languageName: node linkType: hard -"@parcel/optimizer-svgo@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/optimizer-svgo@npm:2.8.0" +"@parcel/optimizer-svgo@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/optimizer-svgo@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 svgo: ^2.4.0 - checksum: 97538747a69ce94c2c77fc0e5eec9ec193796dc990880473a5f73e5521a0292c0891b209eedffb37a590db96bf5423838e49634b8d0e28c5606e05890ff85615 + checksum: 608179fb18456e54b9e657b5184c2f75d35ba916fdb4c43e2e2d9145838f8463e6f665dd09e2f625dfd0783c0b7875fa14cbc113d8de1d23ca5ae0c441c95867 languageName: node linkType: hard -"@parcel/optimizer-terser@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/optimizer-terser@npm:2.8.0" +"@parcel/optimizer-terser@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/optimizer-terser@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 terser: ^5.2.0 - checksum: 6e1210f52e4f70e7464a30f9f27a3be968492abce575671d2a9cb005bcfc2e0141e5dd69e5e9f0f733a538a5d571dd218e09f49cb31bd3c0471f768df99db9f8 + checksum: e5cc9ef64829f6f8d54086d72fd57d835102051270d0d6bd28d8b28819aa786d4793b5d29b1d63cc30ab27288ad9eed72aaf6bf2df89bb37019227713d6f640c languageName: node linkType: hard -"@parcel/package-manager@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/package-manager@npm:2.8.0" - dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/fs": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 - "@parcel/workers": 2.8.0 +"@parcel/package-manager@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/package-manager@npm:2.8.2" + dependencies: + "@parcel/diagnostic": 2.8.2 + "@parcel/fs": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 + "@parcel/workers": 2.8.2 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 90194f6545230cd990acaf2dda0f938b076ec52c32ca3e27590a1d024f10237c499f0b2ad0fcf9baf4dfbfbfc2b08114dc30914d6df620b5ec6c39193f89fa53 + "@parcel/core": ^2.8.2 + checksum: 99d022d3fafd50f899019fa730ddf2536bc04226c713a339861541edef345c8e4674f7b0e0d1395cdb0749c7d9b27d9287e1b98c574c75a4ab818636356eba30 languageName: node linkType: hard -"@parcel/packager-css@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/packager-css@npm:2.8.0" +"@parcel/packager-css@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/packager-css@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 - checksum: c137ec5d1ea364daa6f71db030b4c67bda34ad01108dbc141be2e818240572b3490137cc711c1ffb8ae9637e31e9cbdcb81762f81cd82bc73b4bb13f6d5ad3af + checksum: 18ba8e43b358706ec3a8743ae8a8c6686989b2de7b0f50d599e59defd06ad6c4178185a12dd5193ed13a2733dd35a342a12fa17d09200682b0a3c21611234c74 languageName: node linkType: hard -"@parcel/packager-html@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/packager-html@npm:2.8.0" +"@parcel/packager-html@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/packager-html@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 - checksum: 735d9c54f111e263f77f909ff64b97aace739effd71b487c73c5c41e935e9359bce3710fec16482b64c503a2ab7863da27d768e8860fcfa1687ad2e12d412c97 + checksum: e4975a48698c48578094a13bc120b354def578312a647ae4b8bc81927fa0e73da6e449c74e4f2f21da58cc4ebaa0d70d4cfb1c019c7fd243e887174052cf9ccf languageName: node linkType: hard -"@parcel/packager-js@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/packager-js@npm:2.8.0" +"@parcel/packager-js@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/packager-js@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 globals: ^13.2.0 nullthrows: ^1.1.1 - checksum: 1d0ac2cf415eb0061ad19aa40a2914e92610e68acb4a02aa0b217937b05c13ac285f7877fe863a0e470d40e3765386945b02dd9443d731c79453432d70783ed0 + checksum: 5c4a74e9b2f7e46c786cadce79ff7b664b87e696073c2e1acb20bbda420b7d9ff3f5c5f5e5e5ce8d66c23735c13d8f5d399bbd9e7850fd50e669ad108c6084a2 languageName: node linkType: hard -"@parcel/packager-raw@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/packager-raw@npm:2.8.0" +"@parcel/packager-raw@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/packager-raw@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - checksum: e472f81d2e8856c3554687476001e7d91b63b3539b25a092386b819879f59fd6699229e991b826ab965c50fa0c281d04e55a29454417978f40f0272fa62a77fe + "@parcel/plugin": 2.8.2 + checksum: 198984e93e70609ab0672f0a9c042b810ab19f07b2fc002c9e5a408e8b5b62adad5391043543bc69fe22c9bb7dca62bd676f683deb54278abfac89f91f91c985 languageName: node linkType: hard -"@parcel/packager-svg@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/packager-svg@npm:2.8.0" +"@parcel/packager-svg@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/packager-svg@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 posthtml: ^0.16.4 - checksum: ce1b8a4ef5aa97e7485350809565bd2ad2cdda2a73d780aeb9b0a1881ebf33e0dc02fd1cc1173a6df1ca8fba08f9d0b212befd287be66a3eb2ccceccf0df6c66 + checksum: 7e105464259dc1b65e3276a274cc617870db2ac6fd619271bf18386b9eabe1d7a5f9bc3355e1969ce65bdf35ede18c4f4ca8b0f9866cd897eac3874ddecea4a9 languageName: node linkType: hard -"@parcel/plugin@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/plugin@npm:2.8.0" +"@parcel/plugin@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/plugin@npm:2.8.2" dependencies: - "@parcel/types": 2.8.0 - checksum: 89336c2b794f21296aee25455b3a0c9d33ef1445e7b866aeb287dfd9f763d33b93936137a9c916d97ba41f1764c8379da7ad19958d3cc5e64801fe2477fab6ec + "@parcel/types": 2.8.2 + checksum: 5c9f0ec6ff0bdb547316dfe0f2d6060509e8f9725b7dfc8d9d09a8bc9a68cb34cc43590143be2e24db9c9f9fdffa203d183bbf420c9106b2a5a5f90a202cca99 languageName: node linkType: hard -"@parcel/reporter-cli@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/reporter-cli@npm:2.8.0" +"@parcel/reporter-cli@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/reporter-cli@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 chalk: ^4.1.0 term-size: ^2.2.1 - checksum: 00dfae86bf050ea326fdc14e633cec7fc2faef1ddfa1101cac6fbd8211b227302703af67f662989175c10cb579e768c1d7270661d7aa98a75cd0bd8e3dd3bce4 + checksum: 5ac5cbb7c33f3088a2ebd1da10daeaa2f1e72656cba94711b23a9ea92564f9a256cfcd22cdea967685e800ef488bca13d306c08e23b9ad84b8e8c377f8e4ced3 languageName: node linkType: hard -"@parcel/reporter-dev-server@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/reporter-dev-server@npm:2.8.0" +"@parcel/reporter-dev-server@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/reporter-dev-server@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 - checksum: de89a41b5ef8e923ea0eef37478dfca3ae7ea8d61448873749b43af134d2d1199b9d20a279d83262e1a0c94a81a6b78c48791f7396854a111f630b99b49f4c95 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 + checksum: 1efff76ed9003813ff5457657966204eed0ed26709a569530b38f5674b43f3a1c49f828ee25caab98329f6e1ea0c7454377608179e2c295d6da085192a97b1c5 languageName: node linkType: hard -"@parcel/resolver-default@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/resolver-default@npm:2.8.0" +"@parcel/resolver-default@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/resolver-default@npm:2.8.2" dependencies: - "@parcel/node-resolver-core": 2.8.0 - "@parcel/plugin": 2.8.0 - checksum: 568cfca244ae49cafe7785d0f7913e7f26d5b51bd331e7016b095f1074c83cc343fc1cb55f9a121cf64cd6ae557b8b1a55f8a7a3734324b8ea94e470871074ce + "@parcel/node-resolver-core": 2.8.2 + "@parcel/plugin": 2.8.2 + checksum: 66e0233ed613bdc48d167a54dc4067f8f416b7fa1bf776077ada2fa98caddd613a1115ec1d19df3f170ec3142ab9cd7dff68672f54417e400c08c4a6906c1c83 languageName: node linkType: hard -"@parcel/runtime-browser-hmr@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/runtime-browser-hmr@npm:2.8.0" +"@parcel/runtime-browser-hmr@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/runtime-browser-hmr@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 - checksum: dc414a176321a561af117f0dec283449f46d379e22cb7c5c2b15a3f30d5fc79cff3b740a95537825174e164caa70738ddb60a2cf0ae1ef1441324319b0b16353 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 + checksum: 64543de8cf81ffef7c92e0da5c0924d07314ff3ca71286a94c77f63b45e4b94a7f9818aaf70618ec747bf399db94d9e78bc5b9b9b30dc5bad8c1c35d9e442502 languageName: node linkType: hard -"@parcel/runtime-js@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/runtime-js@npm:2.8.0" +"@parcel/runtime-js@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/runtime-js@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 - checksum: c5103d57b1f4db696cfbfb4e3d1b5b3cebe0f7a6f2ba4bc0e4c925e09afce7c03b5c88f1041adbb2841016c0c91e34e7574488f8383c8d31bf678ca47aedc7c1 + checksum: a5c0c7d2ad1b629d960fd85a6b36fb4f2330fc64a49ecc6bd4c3e7ac8f37727404617b11343bb45ae8727dcfa439042b44f9738fa1e1bd3f85e267e8d2cfa8ac languageName: node linkType: hard -"@parcel/runtime-react-refresh@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/runtime-react-refresh@npm:2.8.0" +"@parcel/runtime-react-refresh@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/runtime-react-refresh@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 react-error-overlay: 6.0.9 react-refresh: ^0.9.0 - checksum: 1171468843d45f02ce935ac79565a8bcaa1d36318e22214726bab11dbbbdc5c0cd1ace4ccd97c1ad3864b48e245ad1e816fb82bd3e0a2ba45471f4f72b5e44cf + checksum: 6483b8ed55d0d5f33106b07fe850793cf1a1359af2ed1885b473b8b144fc30e1d0cbb8860e6f04270f3507bd2ca8b2b006a1b14f1e3e061465c0758c0e175854 languageName: node linkType: hard -"@parcel/runtime-service-worker@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/runtime-service-worker@npm:2.8.0" +"@parcel/runtime-service-worker@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/runtime-service-worker@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 - checksum: 7dea40cb5ea137dd17a8b5ae554b15aaeb650507b804f72f2189fac784497df8c8a0caf939e5f7a3c7f69309b190f05674baa919b407d74c267b6092d986f3cd + checksum: 4b52703d3b78711865e0607d8684dc8defc5bad52c6cd160aeae95b0461e90f324a20c62753243bbf5d966e3d26915743cbd0d921766ec9564b0e25cd181244f languageName: node linkType: hard @@ -3491,76 +3491,76 @@ __metadata: languageName: node linkType: hard -"@parcel/transformer-babel@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-babel@npm:2.8.0" +"@parcel/transformer-babel@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-babel@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 browserslist: ^4.6.6 json5: ^2.2.0 nullthrows: ^1.1.1 semver: ^5.7.0 - checksum: 92f6cded693b8d6c8f2d0236fa00b4eaac855445dbcf6f8b6f0477af88b16138c96e506af43cabd0eb7f6b9085fc42176e0564e6a5a5ba1e676c327fe2715ab5 + checksum: 4b2064aaba347a812a28a727bf61625d870abb891b89af86cad6eb2c4e62fd6a6c5701eae544d9913b3f5f3a4620443bae4e170bd508b4bf37af45db03450496 languageName: node linkType: hard -"@parcel/transformer-css@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-css@npm:2.8.0" +"@parcel/transformer-css@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-css@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 + "@parcel/utils": 2.8.2 browserslist: ^4.6.6 lightningcss: ^1.16.1 nullthrows: ^1.1.1 - checksum: c735cae38cb4bb7fe39451f79947c114563b1191e7b0eb513e0c60f002c0209b66db6b6cbb6e12e62000972dfa7b3ffe8f6499d4bce5fb2cc529cbdd83623e33 + checksum: d0d3121d2b1afed509893f2a0bdb96061e2f229e7dc43f86ca0d0a103c61eff3d4b7916bacf7a696309575444c2a13cdef70cedaf029b389d83ee58dc4a86f9b languageName: node linkType: hard -"@parcel/transformer-html@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-html@npm:2.8.0" +"@parcel/transformer-html@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-html@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/plugin": 2.8.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: f6f7bf1ebfeb40a68673ca4334754b19db751226cc8a85af461b44228fe4aa654849542012024f4ec7730b22bf01d382f5808bc44d822c4a39a8bbc05cd5ad05 + checksum: e3bead4866b44190f74d5b1e2beeb8df58aca7f6b2f0fc8c406d7625cda7b18cbbc5ce7a8f4b9121c644fdc0bfeea8a61f86c09e057a21172e7b43c8d6acc616 languageName: node linkType: hard -"@parcel/transformer-image@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-image@npm:2.8.0" +"@parcel/transformer-image@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-image@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 - "@parcel/workers": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 + "@parcel/workers": 2.8.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 0656c47b23d01b9e7a03ef2979d1767d517daaf40a1010e607330c5e4283dd05c84e8b8e93597c1d7e6f8947407acfcaec51ba626298cda4fc6a4a8e8ba35634 + "@parcel/core": ^2.8.2 + checksum: acfe6e06f3a59b43aa59547fc1eb76c3cc2298ce304ca9b57aa0cf953d3d665465d7f4bd88281914783e741a80aa9f9cd29973a17d66f774787ef543b2e6fd22 languageName: node linkType: hard -"@parcel/transformer-js@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-js@npm:2.8.0" +"@parcel/transformer-js@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-js@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/plugin": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.0 - "@parcel/workers": 2.8.0 + "@parcel/utils": 2.8.2 + "@parcel/workers": 2.8.2 "@swc/helpers": ^0.4.12 browserslist: ^4.6.6 detect-libc: ^1.0.3 @@ -3568,128 +3568,127 @@ __metadata: regenerator-runtime: ^0.13.7 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: 1c0cbed38b0167bf6f684017406f9550560f34a586e102e5e5b99faf778d8b6eb821d668f8dbfb192a41f86f750512c5e8e32f9a644a3d7e217e2ac3e9f7fbdd + "@parcel/core": ^2.8.2 + checksum: 2ccbe5f98ef23fb61c9837ed699666d50b673c958f38167d6cd5f83e1b252c842978ce99d8a8a158b90d5d0d5733d9fa4c44e987d58bf42897bb633bb0b707ec languageName: node linkType: hard -"@parcel/transformer-json@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-json@npm:2.8.0" +"@parcel/transformer-json@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-json@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 + "@parcel/plugin": 2.8.2 json5: ^2.2.0 - checksum: 24cbe4bae9eba73b3518288cef646dea78623cc2685a6374be6929bc1311a5594b90791d1a0031c40946e287b880843e9fe8d014a164b634583dee8a75f6d039 + checksum: b22a609ae97bdf1a1b395ef29d4bc3520c07ccf49fcff10ee7a10bbf139609ac136cc6911308b0f4bb6c2bb7930cdf83cb6f4bfd193bf3413000b7191ec2b2dd languageName: node linkType: hard -"@parcel/transformer-postcss@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-postcss@npm:2.8.0" +"@parcel/transformer-postcss@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-postcss@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 clone: ^2.1.1 nullthrows: ^1.1.1 postcss-value-parser: ^4.2.0 semver: ^5.7.1 - checksum: bdf8004930186b69405f7c5fb1f72c0f04311d5a59c612fe379630feae4dbdcf832c8ceff68bbd4aeb8a2f6f4da1fbaf4d564a0bc1245567864aefe3b3c9f085 + checksum: ee152a91fb7576b8a7995309ac3882b2887854f4e2a6e4d599d47d9ab59424d2a4700bebdac72b7a236c5265c9253af648563d849e76096273d44f375872e2ce languageName: node linkType: hard -"@parcel/transformer-posthtml@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-posthtml@npm:2.8.0" +"@parcel/transformer-posthtml@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-posthtml@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: bf9ddcfbeef939191cfb9da54d62c2f75dca9cfbd3100e85e170dde4145f638709cc4271ea1cb4548d7ee30063d8c34beb9c681a78279f8e1984b373637b353b + checksum: 4865968546328c82cd496db8efd2f7e54000ff52fb34f9d2698513ed80efcbc17a13358e7cf11c9dda01bb374ab74ecc46bd2adb8237efd3997e6207d71c2d84 languageName: node linkType: hard -"@parcel/transformer-raw@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-raw@npm:2.8.0" +"@parcel/transformer-raw@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-raw@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - checksum: ee92ccb11540e8223e9be2bd469daac6d8dbd3e4bf627bad5d465bc5827325ccfd65473ec2850d41b079ca6a24c5911a01287aebcf65d9cc86bcc27be732c709 + "@parcel/plugin": 2.8.2 + checksum: 386f64445a99a73634e41a3d6f1d24bda0c1665a45f3082d7042924999fa89fc3584ead67fde383fb3e9319b157386c52686e70406dd677c48ea0497e0d91b55 languageName: node linkType: hard -"@parcel/transformer-react-refresh-wrap@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-react-refresh-wrap@npm:2.8.0" +"@parcel/transformer-react-refresh-wrap@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-react-refresh-wrap@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/plugin": 2.8.2 + "@parcel/utils": 2.8.2 react-refresh: ^0.9.0 - checksum: 3e79883dd3cd22d29a5f9876c0f483884c880c5b99a4e279318879b777909958a783419033a20aeebc95992da0896c4e3a45c6f4010b12a44da756c19c724473 + checksum: d091ab4a2550202589a1fb4623e0cd5fa957b8c4d961e4238f730180ddbc7cafccb7de9899c74bd7e523e94b2b3e4078da4c2cb37c6f7e0c11d0014dc74fc701 languageName: node linkType: hard -"@parcel/transformer-svg-react@npm:^2.7.0": - version: 2.8.0 - resolution: "@parcel/transformer-svg-react@npm:2.8.0" +"@parcel/transformer-svg-react@npm:^2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-svg-react@npm:2.8.2" dependencies: - "@parcel/plugin": 2.8.0 + "@parcel/plugin": 2.8.2 "@svgr/core": ^6.2.0 "@svgr/plugin-jsx": ^6.2.0 "@svgr/plugin-svgo": ^6.2.0 - camelcase: ^6.3.0 - checksum: d44633307eff7fa3dfee2704d12fd4bc805bff2b1febba7d50fada57274d010565f8a05071b4b6a87ccdec13d2a4b572aee2900c2188bc73aa88d8b6800c0389 + checksum: f139c2cfcb7853a9698247e754c1f3de2991028f96700c36c9fb312ac9da71389d191c5cbcc5b5304f6cb97b4bcfebf90586f5d6bdddc190ef569ffeddf82c32 languageName: node linkType: hard -"@parcel/transformer-svg@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/transformer-svg@npm:2.8.0" +"@parcel/transformer-svg@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/transformer-svg@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/plugin": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/plugin": 2.8.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 644bf4bd560484714c51112b89164543462c41633cfcbcfb2f43cab2158b6a576885bac73dc865d7dd9da4667213120f9887ef8a722a9c5c5fa2f19726007875 + checksum: e4522b69e3ee8a75ea154d93b7a42abf440ccd674d82cc38be0534ca1aafb2a97ae81212ffbb7421456ed164c213866041e360124433f8afe704203e33f31a5e languageName: node linkType: hard -"@parcel/types@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/types@npm:2.8.0" +"@parcel/types@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/types@npm:2.8.2" dependencies: - "@parcel/cache": 2.8.0 - "@parcel/diagnostic": 2.8.0 - "@parcel/fs": 2.8.0 - "@parcel/package-manager": 2.8.0 + "@parcel/cache": 2.8.2 + "@parcel/diagnostic": 2.8.2 + "@parcel/fs": 2.8.2 + "@parcel/package-manager": 2.8.2 "@parcel/source-map": ^2.1.1 - "@parcel/workers": 2.8.0 + "@parcel/workers": 2.8.2 utility-types: ^3.10.0 - checksum: dadae62a59955a11fc0b37bf34b6c452c863fd285727bda7008f6df080350884021f5a3c0d528d09fa5359ad39b1c22961e5dcbc305e7c924bb1914249fa722a + checksum: 04b3d5f199296392adabbe271b2877f6a4544cd6e8fde7e8b562ca28be8d7fb877df4782d55e0312090e3696646e738a37b705bfe17ffc3252d05880339435d1 languageName: node linkType: hard -"@parcel/utils@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/utils@npm:2.8.0" +"@parcel/utils@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/utils@npm:2.8.2" dependencies: - "@parcel/codeframe": 2.8.0 - "@parcel/diagnostic": 2.8.0 - "@parcel/hash": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/markdown-ansi": 2.8.0 + "@parcel/codeframe": 2.8.2 + "@parcel/diagnostic": 2.8.2 + "@parcel/hash": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/markdown-ansi": 2.8.2 "@parcel/source-map": ^2.1.1 chalk: ^4.1.0 - checksum: ce02ce6c581bfb61fd32b433de73b3cbd1d313f810977c352977e95319c838b01a9cf1f511521216d812832102619ca6e2e8d2d99aa42cf3bc54a60ec22fbef2 + checksum: fcbc70426ec7777fee20b684c0719c58ae249fdcbe0b5b0a9998e8d0d28296eb3a781b1e8fe8ac37848139ad220c6440aa66a259f2e9d309e73d4b3f62353716 languageName: node linkType: hard @@ -3704,19 +3703,19 @@ __metadata: languageName: node linkType: hard -"@parcel/workers@npm:2.8.0": - version: 2.8.0 - resolution: "@parcel/workers@npm:2.8.0" +"@parcel/workers@npm:2.8.2": + version: 2.8.2 + resolution: "@parcel/workers@npm:2.8.2" dependencies: - "@parcel/diagnostic": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/types": 2.8.0 - "@parcel/utils": 2.8.0 + "@parcel/diagnostic": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/types": 2.8.2 + "@parcel/utils": 2.8.2 chrome-trace-event: ^1.0.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.8.0 - checksum: e747c6b62f1022dfea9541acb90564435aac3787f84e36511a0836060db3be8891301c7a33014da33832cb955a954b7cda358a3a78a2977737eab3f4ac3140a6 + "@parcel/core": ^2.8.2 + checksum: df3f7933016783c5ef4905c0c0ce8cafbf7b50673c0cdf06cfd275f5799590be91a5252988e9d95b4de2b4fd5ab4a3ee804a8e425cae96cb14ef10220b7a419f languageName: node linkType: hard @@ -4388,6 +4387,13 @@ __metadata: languageName: node linkType: hard +"@types/js-cookie@npm:^2.2.6": + version: 2.2.7 + resolution: "@types/js-cookie@npm:2.2.7" + checksum: 851f47e94ca1fc43661d8f51614d67a613e7810c91b876d0a3b311ce72f7df800107fd02a08cb6948184e12c120b4f058edca2f50424d8798bdcffd6627281e3 + languageName: node + linkType: hard + "@types/js-yaml@npm:^4.0.0": version: 4.0.5 resolution: "@types/js-yaml@npm:4.0.5" @@ -4588,12 +4594,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.0.6": - version: 18.0.9 - resolution: "@types/react-dom@npm:18.0.9" +"@types/react-dom@npm:^18.0.10": + version: 18.0.10 + resolution: "@types/react-dom@npm:18.0.10" dependencies: "@types/react": "*" - checksum: e744e3feba25fc43733289d4df4d9c0e59fcca7f34e8c89d75f81a339accb2bd70236d69382d47d2c0ad06a1529b2e56aa6171fe175854d60e07156ddceedfcb + checksum: ff8282d5005a0b1cd95fb65bf79d3d8485e4cfe2aaf052129033a178684b940014a3f4536bc20d573f8a01cf4c6f4770c74988cef7c2b5cac3041d9f172647e3 languageName: node linkType: hard @@ -4606,14 +4612,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.0.24": - version: 18.0.25 - resolution: "@types/react@npm:18.0.25" +"@types/react@npm:*, @types/react@npm:^18.0.26": + version: 18.0.26 + resolution: "@types/react@npm:18.0.26" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 231d658c45abdef044a716b4502774f1585d8336d73b2f5bd68f181acbfc874b7a457686ecd29b415b43ed0922c309bab7e2cf96832d188a3f4f1b02f2af760a + checksum: b62f0ea3cdfa68e106391728325057ad36f1bde7ba2dfae029472c47e01e482bc77c6ba4f1dad59f3f04ee81cb597618ff7c30a33c157c0a20462b6dd6aa2d4d languageName: node linkType: hard @@ -5193,6 +5199,13 @@ __metadata: languageName: node linkType: hard +"@xobotyi/scrollbar-width@npm:^1.9.5": + version: 1.9.5 + resolution: "@xobotyi/scrollbar-width@npm:1.9.5" + checksum: e880c8696bd6c7eedaad4e89cc7bcfcd502c22dc6c061288ffa7f5a4fe5dab4aa2358bdd68e7357bf0334dc8b56724ed9bee05e010b60d83a3bb0d855f3d886f + languageName: node + linkType: hard + "@xtuc/ieee754@npm:^1.2.0": version: 1.2.0 resolution: "@xtuc/ieee754@npm:1.2.0" @@ -7518,7 +7531,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0, camelcase@npm:^6.3.0": +"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -8612,6 +8625,15 @@ __metadata: languageName: node linkType: hard +"copy-to-clipboard@npm:^3.3.1": + version: 3.3.3 + resolution: "copy-to-clipboard@npm:3.3.3" + dependencies: + toggle-selection: ^1.0.6 + checksum: e0a325e39b7615108e6c1c8ac110ae7b829cdc4ee3278b1df6a0e4228c490442cc86444cd643e2da344fbc424b3aab8909e2fec82f8bc75e7e5b190b7c24eecf + languageName: node + linkType: hard + "core-js-pure@npm:^3.0.1": version: 3.26.1 resolution: "core-js-pure@npm:3.26.1" @@ -8870,6 +8892,15 @@ __metadata: languageName: node linkType: hard +"css-in-js-utils@npm:^3.1.0": + version: 3.1.0 + resolution: "css-in-js-utils@npm:3.1.0" + dependencies: + hyphenate-style-name: ^1.0.3 + checksum: 066318e918c04a5e5bce46b38fe81052ea6ac051bcc6d3c369a1d59ceb1546cb2b6086901ab5d22be084122ee3732169996a3dfb04d3406eaee205af77aec61b + languageName: node + linkType: hard + "css-loader@npm:^6.5.1": version: 6.7.2 resolution: "css-loader@npm:6.7.2" @@ -8947,7 +8978,7 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2, csstype@npm:^3.1.0": +"csstype@npm:^3.0.2, csstype@npm:^3.0.6, csstype@npm:^3.1.0": version: 3.1.1 resolution: "csstype@npm:3.1.1" checksum: 1f7b4f5fdd955b7444b18ebdddf3f5c699159f13e9cf8ac9027ae4a60ae226aef9bbb14a6e12ca7dba3358b007cee6354b116e720262867c398de6c955ea451d @@ -9894,6 +9925,15 @@ __metadata: languageName: node linkType: hard +"error-stack-parser@npm:^2.0.6": + version: 2.1.4 + resolution: "error-stack-parser@npm:2.1.4" + dependencies: + stackframe: ^1.3.4 + checksum: 3b916d2d14c6682f287c8bfa28e14672f47eafe832701080e420e7cdbaebb2c50293868256a95706ac2330fe078cf5664713158b49bc30d7a5f2ac229ded0e18 + languageName: node + linkType: hard + "es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": version: 1.20.4 resolution: "es-abstract@npm:1.20.4" @@ -11341,6 +11381,27 @@ __metadata: languageName: node linkType: hard +"fast-loops@npm:^1.1.3": + version: 1.1.3 + resolution: "fast-loops@npm:1.1.3" + checksum: b674378ba2ed8364ca1a00768636e88b22201c8d010fa62a8588a4cace04f90bac46714c13cf638be82b03438d2fe813600da32291fb47297a1bd7fa6cef0cee + languageName: node + linkType: hard + +"fast-shallow-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-shallow-equal@npm:1.0.0" + checksum: ae89318ce43c0c46410d9511ac31520d59cfe675bad3d0b1cb5f900b2d635943d788b8370437178e91ae0d0412decc394229c03e69925ade929a8c02da241610 + languageName: node + linkType: hard + +"fastest-stable-stringify@npm:^2.0.2": + version: 2.0.2 + resolution: "fastest-stable-stringify@npm:2.0.2" + checksum: 5e2cb166c7bb6f16ac25a1e4be17f6b8d2923234c80739e12c9d21dea376b3128b2c63f90aa2aae7746cfec4dcf188d1d4eb6a964bb484ca133f17c8e9acfacc + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.13.0 resolution: "fastq@npm:1.13.0" @@ -13296,6 +13357,13 @@ __metadata: languageName: node linkType: hard +"hyphenate-style-name@npm:^1.0.3": + version: 1.0.4 + resolution: "hyphenate-style-name@npm:1.0.4" + checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137 + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -13485,6 +13553,16 @@ __metadata: languageName: node linkType: hard +"inline-style-prefixer@npm:^6.0.0": + version: 6.0.4 + resolution: "inline-style-prefixer@npm:6.0.4" + dependencies: + css-in-js-utils: ^3.1.0 + fast-loops: ^1.1.3 + checksum: caf7a75d18acbedc7e3b8bfac17563082becd2df6b65accad964a6afdf490329b42315c37fe65ba0177cc10fd32809eb40d62aba23a0118c74d87d4fc58defa2 + languageName: node + linkType: hard + "inquirer@npm:^6.2.1, inquirer@npm:^6.2.2": version: 6.5.2 resolution: "inquirer@npm:6.5.2" @@ -14473,6 +14551,13 @@ __metadata: languageName: node linkType: hard +"js-cookie@npm:^2.2.1": + version: 2.2.1 + resolution: "js-cookie@npm:2.2.1" + checksum: 9b1fb980a1c5e624fd4b28ea4867bb30c71e04c4484bb3a42766344c533faa684de9498e443425479ec68609e96e27b60614bfe354877c449c631529b6d932f2 + languageName: node + linkType: hard + "js-sdsl@npm:^4.1.4": version: 4.2.0 resolution: "js-sdsl@npm:4.2.0" @@ -17074,6 +17159,25 @@ __metadata: languageName: node linkType: hard +"nano-css@npm:^5.3.1": + version: 5.3.5 + resolution: "nano-css@npm:5.3.5" + dependencies: + css-tree: ^1.1.2 + csstype: ^3.0.6 + fastest-stable-stringify: ^2.0.2 + inline-style-prefixer: ^6.0.0 + rtl-css-js: ^1.14.0 + sourcemap-codec: ^1.4.8 + stacktrace-js: ^2.0.2 + stylis: ^4.0.6 + peerDependencies: + react: "*" + react-dom: "*" + checksum: 8d4e59a2a29477221af47320d850a7dcee1ac51774fb5a0dce6ee59b22174c7149f75108235de85559581fbb2b93aa222a2b32ea53c93ba3f5d322c4d098c355 + languageName: node + linkType: hard + "nano-json-stream-parser@npm:^0.1.2": version: 0.1.2 resolution: "nano-json-stream-parser@npm:0.1.2" @@ -17960,27 +18064,27 @@ __metadata: languageName: node linkType: hard -"parcel@npm:^2.7.0": - version: 2.8.0 - resolution: "parcel@npm:2.8.0" - dependencies: - "@parcel/config-default": 2.8.0 - "@parcel/core": 2.8.0 - "@parcel/diagnostic": 2.8.0 - "@parcel/events": 2.8.0 - "@parcel/fs": 2.8.0 - "@parcel/logger": 2.8.0 - "@parcel/package-manager": 2.8.0 - "@parcel/reporter-cli": 2.8.0 - "@parcel/reporter-dev-server": 2.8.0 - "@parcel/utils": 2.8.0 +"parcel@npm:^2.8.2": + version: 2.8.2 + resolution: "parcel@npm:2.8.2" + dependencies: + "@parcel/config-default": 2.8.2 + "@parcel/core": 2.8.2 + "@parcel/diagnostic": 2.8.2 + "@parcel/events": 2.8.2 + "@parcel/fs": 2.8.2 + "@parcel/logger": 2.8.2 + "@parcel/package-manager": 2.8.2 + "@parcel/reporter-cli": 2.8.2 + "@parcel/reporter-dev-server": 2.8.2 + "@parcel/utils": 2.8.2 chalk: ^4.1.0 commander: ^7.0.0 get-port: ^4.2.0 v8-compile-cache: ^2.0.0 bin: parcel: lib/bin.js - checksum: cee155ef9f7471d44349717a672502f33deabb4a7b65607f1b57bd6d694506adf16ff0a3eddee20c2a196a3f3853c6d9d1006f58a724788b2d952354162c8368 + checksum: b95ef40bad41ecba1d1455f85c3f5e588703238af6f5544a54d7d4c6bedfa5edcb9e25aa094c3536e48e936f2147b6ed9e2bdf203fdadbe846a11842e4a9786d languageName: node linkType: hard @@ -19261,6 +19365,41 @@ __metadata: languageName: node linkType: hard +"react-universal-interface@npm:^0.6.2": + version: 0.6.2 + resolution: "react-universal-interface@npm:0.6.2" + peerDependencies: + react: "*" + tslib: "*" + checksum: 070a7e9e3cdd8b0ec91a2ac9ac0a8df6bcb3fd183d2775bf0f439b9870fc1faf5b4fa9fe9741abd5187f0a35be645cb4004e1c9ebda9ada7e5d0a624f94910cb + languageName: node + linkType: hard + +"react-use@npm:^17.4.0": + version: 17.4.0 + resolution: "react-use@npm:17.4.0" + dependencies: + "@types/js-cookie": ^2.2.6 + "@xobotyi/scrollbar-width": ^1.9.5 + copy-to-clipboard: ^3.3.1 + fast-deep-equal: ^3.1.3 + fast-shallow-equal: ^1.0.0 + js-cookie: ^2.2.1 + nano-css: ^5.3.1 + react-universal-interface: ^0.6.2 + resize-observer-polyfill: ^1.5.1 + screenfull: ^5.1.0 + set-harmonic-interval: ^1.0.1 + throttle-debounce: ^3.0.1 + ts-easing: ^0.2.0 + tslib: ^2.1.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 0889da919b49a186de375ec15d2778b954ae981c523acd17dd496e4a4da7b6190efe7993491e1b85fdd6de3e745d08a4eaba4caa35408d570b5f1de550f35d11 + languageName: node + linkType: hard + "react@npm:^18.0.0, react@npm:^18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -19461,7 +19600,7 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.10, regenerator-runtime@npm:^0.13.7": +"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.7": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 @@ -20031,6 +20170,15 @@ __metadata: languageName: node linkType: hard +"rtl-css-js@npm:^1.14.0": + version: 1.16.0 + resolution: "rtl-css-js@npm:1.16.0" + dependencies: + "@babel/runtime": ^7.1.2 + checksum: 51756329f691cacd3e1b48f0f9d04a69338a90013f2d2942ca1ae3b069c952f70055f5fd76c66921e9a5cb956276252376a847c3294bd0ee54be9ceb32ea868c + languageName: node + linkType: hard + "run-async@npm:^2.2.0, run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -20197,6 +20345,13 @@ __metadata: languageName: node linkType: hard +"screenfull@npm:^5.1.0": + version: 5.2.0 + resolution: "screenfull@npm:5.2.0" + checksum: 21eae33b780eb4679ea0ea2d14734b11168cf35049c45a2bf24ddeb39c67a788e7a8fb46d8b61ca6d8367fd67ce9dd4fc8bfe476489249c7189c2a79cf83f51a + languageName: node + linkType: hard + "scroll-into-view-if-needed@npm:^2.2.28": version: 2.2.29 resolution: "scroll-into-view-if-needed@npm:2.2.29" @@ -20428,6 +20583,13 @@ __metadata: languageName: node linkType: hard +"set-harmonic-interval@npm:^1.0.1": + version: 1.0.1 + resolution: "set-harmonic-interval@npm:1.0.1" + checksum: c122b831c2e0b1fb812e5e9d065094b9d174bd0576f9a779ab7a7d8881c8f6dd7d5fcab9a2553da15eea670eb598f9dd4d5162b626d45cc9c529706aa1444a84 + languageName: node + linkType: hard + "set-immediate-shim@npm:^1.0.1": version: 1.0.1 resolution: "set-immediate-shim@npm:1.0.1" @@ -20959,6 +21121,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:0.5.6": + version: 0.5.6 + resolution: "source-map@npm:0.5.6" + checksum: 390b3f5165c9631a74fb6fb55ba61e62a7f9b7d4026ae0e2bfc2899c241d71c1bccb8731c496dc7f7cb79a5f523406eb03d8c5bebe8448ee3fc38168e2d209c8 + languageName: node + linkType: hard + "source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" @@ -21110,6 +21279,43 @@ __metadata: languageName: node linkType: hard +"stack-generator@npm:^2.0.5": + version: 2.0.10 + resolution: "stack-generator@npm:2.0.10" + dependencies: + stackframe: ^1.3.4 + checksum: 4fc3978a934424218a0aa9f398034e1f78153d5ff4f4ff9c62478c672debb47dd58de05b09fc3900530cbb526d72c93a6e6c9353bacc698e3b1c00ca3dda0c47 + languageName: node + linkType: hard + +"stackframe@npm:^1.3.4": + version: 1.3.4 + resolution: "stackframe@npm:1.3.4" + checksum: bae1596873595c4610993fa84f86a3387d67586401c1816ea048c0196800c0646c4d2da98c2ee80557fd9eff05877efe33b91ba6cd052658ed96ddc85d19067d + languageName: node + linkType: hard + +"stacktrace-gps@npm:^3.0.4": + version: 3.1.2 + resolution: "stacktrace-gps@npm:3.1.2" + dependencies: + source-map: 0.5.6 + stackframe: ^1.3.4 + checksum: 85daa232d138239b6ae0f4bcdd87d15d302a045d93625db17614030945b5314e204b5fbcf9bee5b6f4f9e6af5fca05f65c27fe910894b861ef6853b99470aa1c + languageName: node + linkType: hard + +"stacktrace-js@npm:^2.0.2": + version: 2.0.2 + resolution: "stacktrace-js@npm:2.0.2" + dependencies: + error-stack-parser: ^2.0.6 + stack-generator: ^2.0.5 + stacktrace-gps: ^3.0.4 + checksum: 081e786d56188ac04ac6604c09cd863b3ca2b4300ec061366cf68c3e4ad9edaa34fb40deea03cc23a05f442aa341e9171f47313f19bd588f9bec6c505a396286 + languageName: node + linkType: hard + "stacktrace-parser@npm:^0.1.10": version: 0.1.10 resolution: "stacktrace-parser@npm:0.1.10" @@ -21440,6 +21646,13 @@ __metadata: languageName: node linkType: hard +"stylis@npm:^4.0.6": + version: 4.1.3 + resolution: "stylis@npm:4.1.3" + checksum: d04dbffcb9bf2c5ca8d8dc09534203c75df3bf711d33973ea22038a99cc475412a350b661ebd99cbc01daa50d7eedcf0d130d121800eb7318759a197023442a6 + languageName: node + linkType: hard + "supports-color@npm:6.0.0": version: 6.0.0 resolution: "supports-color@npm:6.0.0" @@ -21834,6 +22047,13 @@ __metadata: languageName: node linkType: hard +"throttle-debounce@npm:^3.0.1": + version: 3.0.1 + resolution: "throttle-debounce@npm:3.0.1" + checksum: e34ef638e8df3a9154249101b68afcbf2652a139c803415ef8a2f6a8bc577bcd4d79e4bb914ad3cd206523ac78b9fb7e80885bfa049f64fbb1927f99d98b5736 + languageName: node + linkType: hard + "through2@npm:^2.0.0, through2@npm:^2.0.3": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -22025,6 +22245,13 @@ __metadata: languageName: node linkType: hard +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: a90dc80ed1e7b18db8f4e16e86a5574f87632dc729cfc07d9ea3ced50021ad42bb4e08f22c0913e0b98e3837b0b717e0a51613c65f30418e21eb99da6556a74c + languageName: node + linkType: hard + "toidentifier@npm:1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" @@ -22077,6 +22304,13 @@ __metadata: languageName: node linkType: hard +"ts-easing@npm:^0.2.0": + version: 0.2.0 + resolution: "ts-easing@npm:0.2.0" + checksum: e67ee862acca3b2e2718e736f31999adcef862d0df76d76a0e138588728d8a87dfec9978556044640bd0e90203590ad88ac2fe8746d0e9959b8d399132315150 + languageName: node + linkType: hard + "ts-essentials@npm:^1.0.0": version: 1.0.4 resolution: "ts-essentials@npm:1.0.4"