Skip to content

Commit

Permalink
OCT-1454: Cancelling requests while changing route from Metrics (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
jmikolajczyk authored Apr 12, 2024
2 parents a8ac956 + 9cc6153 commit d9da5c7
Show file tree
Hide file tree
Showing 14 changed files with 72 additions and 22 deletions.
11 changes: 9 additions & 2 deletions client/src/api/calls/epochAllocations.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

Expand All @@ -9,6 +11,11 @@ export type Response = {
}[];
};

export async function apiGetEpochAllocations(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}allocations/epoch/${epoch}`).then(({ data }) => data);
export async function apiGetEpochAllocations(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}allocations/epoch/${epoch}`, { signal })
.then(({ data }) => data);
}
9 changes: 7 additions & 2 deletions client/src/api/calls/epochBudgets.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

Expand All @@ -9,8 +11,11 @@ export type Response = {
}[];
};

export async function apiGetEpochBudgets(epoch: number): Promise<Response> {
export async function apiGetEpochBudgets(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}rewards/budgets/epoch/${epoch}`)
.get(`${env.serverEndpoint}rewards/budgets/epoch/${epoch}`, { signal })
.then(({ data }) => data);
}
11 changes: 9 additions & 2 deletions client/src/api/calls/epochInfo.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

Expand All @@ -15,6 +17,11 @@ export type Response = {
totalWithdrawals: string | null;
};

export async function apiGetEpochInfo(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}epochs/info/${epoch}`).then(({ data }) => data);
export async function apiGetEpochInfo(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}epochs/info/${epoch}`, { signal })
.then(({ data }) => data);
}
11 changes: 9 additions & 2 deletions client/src/api/calls/epochLeverage.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

export type Response = {
leverage: number;
};

export async function apiGetEpochLeverage(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}rewards/leverage/${epoch}`).then(({ data }) => data);
export async function apiGetEpochLeverage(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}rewards/leverage/${epoch}`, { signal })
.then(({ data }) => data);
}
11 changes: 9 additions & 2 deletions client/src/api/calls/epochPatrons.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

export type Response = {
patrons: string[];
};

export async function apiGetEpochPatrons(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}user/patrons/${epoch}`).then(({ data }) => data);
export async function apiGetEpochPatrons(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}user/patrons/${epoch}`, { signal })
.then(({ data }) => data);
}
11 changes: 9 additions & 2 deletions client/src/api/calls/epochUnusedRewards.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

Expand All @@ -6,6 +8,11 @@ export type Response = {
value: string; // WEI
};

export async function apiGetEpochUnusedRewards(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}rewards/unused/${epoch}`).then(({ data }) => data);
export async function apiGetEpochUnusedRewards(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}rewards/unused/${epoch}`, { signal })
.then(({ data }) => data);
}
11 changes: 9 additions & 2 deletions client/src/api/calls/projectThreshold.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { GenericAbortSignal } from 'axios';

import env from 'env';
import apiService from 'services/apiService';

Expand All @@ -6,6 +8,11 @@ export type Response = {
threshold: string;
};

export async function apiGetProjectThreshold(epoch: number): Promise<Response> {
return apiService.get(`${env.serverEndpoint}rewards/threshold/${epoch}`).then(({ data }) => data);
export async function apiGetProjectThreshold(
epoch: number,
signal?: GenericAbortSignal,
): Promise<Response> {
return apiService
.get(`${env.serverEndpoint}rewards/threshold/${epoch}`, { signal })
.then(({ data }) => data);
}
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochAllocations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function useEpochAllocations(
options?: UseQueryOptions<Response, unknown, EpochAllocations, any>,
): UseQueryResult<EpochAllocations, unknown> {
return useQuery({
queryFn: () => apiGetEpochAllocations(epoch),
queryFn: ({ signal }) => apiGetEpochAllocations(epoch, signal),
queryKey: QUERY_KEYS.epochAllocations(epoch),
select: response => {
return response.allocations.reduce((acc, curr) => {
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochBudgets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default function useEpochBudgets(
options?: UseQueryOptions<Response, unknown, EpochBudgets, any>,
): UseQueryResult<EpochBudgets, unknown> {
return useQuery({
queryFn: () => apiGetEpochBudgets(epoch),
queryFn: ({ signal }) => apiGetEpochBudgets(epoch, signal),
queryKey: QUERY_KEYS.epochBudgets(epoch),
select: response => {
let budgetsSum = BigInt(0);
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochInfo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export default function useEpochInfo(
options?: UseQueryOptions<Response, unknown, EpochInfo, any>,
): UseQueryResult<EpochInfo, unknown> {
return useQuery({
queryFn: () => apiGetEpochInfo(epoch),
queryFn: ({ signal }) => apiGetEpochInfo(epoch, signal),
queryKey: QUERY_KEYS.epochInfo(epoch),
select: response => ({
communityFund: response.communityFund
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochLeverage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default function useEpochLeverage(
options?: UseQueryOptions<Response, unknown, number, any>,
): UseQueryResult<number, unknown> {
return useQuery({
queryFn: () => apiGetEpochLeverage(epoch),
queryFn: ({ signal }) => apiGetEpochLeverage(epoch, signal),
queryKey: QUERY_KEYS.epochLeverage(epoch),
select: response => response.leverage,
...options,
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochPatrons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default function useEpochPatrons(
options?: UseQueryOptions<Response, unknown, UseEpochPatrons, any>,
): UseQueryResult<UseEpochPatrons, unknown> {
return useQuery({
queryFn: () => apiGetEpochPatrons(epoch),
queryFn: ({ signal }) => apiGetEpochPatrons(epoch, signal),
queryKey: QUERY_KEYS.epochPatrons(epoch),
select: response => response.patrons,
...options,
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/queries/useEpochUnusedRewards.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default function useEpochUnusedRewards(
options?: UseQueryOptions<Response, unknown, UseEpochUnusedRewards, any>,
): UseQueryResult<UseEpochUnusedRewards, unknown> {
return useQuery({
queryFn: () => apiGetEpochUnusedRewards(epoch),
queryFn: ({ signal }) => apiGetEpochUnusedRewards(epoch, signal),
queryKey: QUERY_KEYS.epochUnusedRewards(epoch),
select: response => ({
addresses: response.addresses,
Expand Down
7 changes: 5 additions & 2 deletions client/src/hooks/queries/useProjectRewardsThreshold.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ export default function useProjectRewardsThreshold(
!!currentEpoch &&
currentEpoch > 1 &&
(isDecisionWindowOpen === true || (epoch !== undefined && epoch > 0)),
queryFn: () =>
apiGetProjectThreshold(epoch ?? (isDecisionWindowOpen ? currentEpoch! - 1 : currentEpoch!)),
queryFn: ({ signal }) =>
apiGetProjectThreshold(
epoch ?? (isDecisionWindowOpen ? currentEpoch! - 1 : currentEpoch!),
signal,
),
queryKey: QUERY_KEYS.projectRewardsThreshold(
epoch ?? (isDecisionWindowOpen ? currentEpoch! - 1 : currentEpoch!),
),
Expand Down

0 comments on commit d9da5c7

Please sign in to comment.