diff --git a/src/components/VolumeChart/hooks/useProjectTimeline.ts b/src/components/VolumeChart/hooks/useProjectTimeline.ts
index 835bd277ed..55520a1c32 100644
--- a/src/components/VolumeChart/hooks/useProjectTimeline.ts
+++ b/src/components/VolumeChart/hooks/useProjectTimeline.ts
@@ -1,9 +1,12 @@
import { useQuery } from '@tanstack/react-query'
+import { PV_V4 } from 'constants/pv'
import { readProvider } from 'constants/readProvider'
import EthDater from 'ethereum-block-by-date'
-import { useProjectTlQuery } from 'generated/graphql'
+import { ProjectTlQuery, useProjectTlQuery } from 'generated/graphql'
import { client } from 'lib/apollo/client'
import { PV } from 'models/pv'
+import { ProjectTlDocument } from 'packages/v4/graphql/client/graphql'
+import { useSubgraphQuery } from 'packages/v4/graphql/useSubgraphQuery'
import { useMemo } from 'react'
import { wadToFloat } from 'utils/format/formatNumber'
import { getSubgraphIdForProject } from 'utils/graph'
@@ -73,23 +76,26 @@ export function useProjectTimeline({
id: blocks ? getSubgraphIdForProject(pv, projectId) : '',
...blocks,
},
+ skip: pv === PV_V4
+ })
+
+ const { data: v4QueryResult } = useSubgraphQuery({
+ document: ProjectTlDocument,
+ variables: {
+ id: blocks ? projectId.toString() : '',
+ ...blocks,
+ },
+ enabled: pv === PV_V4
})
- // TODO: const { data: v4QueryResult } = useSubgraphQuery(ProjectTlDocument, {
- // where: {
- // projectId,
- // },
- // })
const points = useMemo(() => {
- // TODO: if (!(v1v2v3QueryResult || v4QueryResult) || !timestamps) return
- if (!v1v2v3QueryResult || !timestamps) return
- // TODO: const queryResult = pv === PV_V4 ? v4QueryResult : v1v2v3QueryResult
- const queryResult = v1v2v3QueryResult
+ const queryResult = pv === PV_V4 ? v4QueryResult : v1v2v3QueryResult
+ if (!queryResult || !timestamps) return
const points: ProjectTimelinePoint[] = []
for (let i = 0; i < COUNT; i++) {
- const point = queryResult[`p${i}` as keyof typeof queryResult]
+ const point = (queryResult as ProjectTlQuery)[`p${i}` as keyof typeof queryResult]
if (!point) continue
@@ -102,7 +108,7 @@ export function useProjectTimeline({
}
return points
- }, [timestamps, v1v2v3QueryResult])
+ }, [timestamps, v1v2v3QueryResult, v4QueryResult, pv])
return {
points,
diff --git a/src/packages/v2v3/components/V2V3Project/V2V3ProjectToolsDrawer/V2V3ProjectToolsDrawer.tsx b/src/packages/v2v3/components/V2V3Project/V2V3ProjectToolsDrawer/V2V3ProjectToolsDrawer.tsx
index 1b728af9f6..972f5ac768 100644
--- a/src/packages/v2v3/components/V2V3Project/V2V3ProjectToolsDrawer/V2V3ProjectToolsDrawer.tsx
+++ b/src/packages/v2v3/components/V2V3Project/V2V3ProjectToolsDrawer/V2V3ProjectToolsDrawer.tsx
@@ -25,10 +25,12 @@ export function V2V3ProjectToolsDrawer({
open?: boolean
onClose?: VoidFunction
}) {
- const { projectId } = useContext(ProjectMetadataContext)
+ const { projectId, projectMetadata } = useContext(ProjectMetadataContext)
const { payoutSplits, reservedTokensSplits, handle } =
useContext(V2V3ProjectContext)
+ const hasOFAC = projectMetadata?.projectRequiredOFACCheck
+
const isMobile = useMobile()
return (
@@ -48,18 +50,21 @@ export function V2V3ProjectToolsDrawer({
+
+ {hasOFAC ? null : (
+ <>
+
+
+ Project payer addresses
+
-
-
- Project payer addresses
-
-
-
-
-
-
+
+
+
+ >
+ )}
(
+export function useSubgraphQuery({
+ document,
+ enabled = true,
+ variables
+}: {
document: TypedDocumentNode,
- ...[variables]: TVariables extends Record ? [] : [TVariables]
-): UseQueryResult {
+ enabled?: boolean,
+ variables?: TVariables
+}): UseQueryResult {
return useQuery({
// eslint-disable-next-line @typescript-eslint/no-explicit-any
queryKey: [(document.definitions[0] as any).name.value, variables],
@@ -26,5 +31,6 @@ export function useSubgraphQuery(
queryKey[1] ? queryKey[1] : undefined,
)
},
+ enabled
})
}
diff --git a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityList.tsx b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityList.tsx
index b12f0ea608..2e97805109 100644
--- a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityList.tsx
+++ b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityList.tsx
@@ -18,12 +18,15 @@ export function V4ActivityList() {
const { projectId } = useJBContractContext()
// TODO: pageSize (pagination)
- const { data: payEventsData, isLoading } = useSubgraphQuery(PayEventsDocument, {
- orderBy: PayEvent_OrderBy.timestamp,
- orderDirection: OrderDirection.desc,
- where: {
- projectId: Number(projectId),
- },
+ const { data: payEventsData, isLoading } = useSubgraphQuery({
+ document: PayEventsDocument,
+ variables: {
+ orderBy: PayEvent_OrderBy.timestamp,
+ orderDirection: OrderDirection.desc,
+ where: {
+ projectId: Number(projectId),
+ },
+ }
})
const payEvents = transformPayEventsRes(payEventsData) ?? []
diff --git a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityPanel.tsx b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityPanel.tsx
index 311748a86c..1db9dacbc6 100644
--- a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityPanel.tsx
+++ b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/V4ActivityPanel.tsx
@@ -12,11 +12,15 @@ import { V4ActivityList } from './V4ActivityList'
export function V4ActivityPanel() {
const { projectId } = useJBContractContext()
- const { data } = useSubgraphQuery(ProjectsDocument, {
- where: {
- projectId: Number(projectId),
- },
+ const { data } = useSubgraphQuery({
+ document: ProjectsDocument,
+ variables: {
+ where: {
+ projectId: Number(projectId),
+ },
+ }
})
+
const createdAt = data?.projects?.[0].createdAt
return (
diff --git a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/hooks/useDownloadPayments.ts b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/hooks/useDownloadPayments.ts
index 0ef53cd166..8e60233c93 100644
--- a/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/hooks/useDownloadPayments.ts
+++ b/src/packages/v4/views/V4ProjectDashboard/V4ProjectTabs/V4ActivityPanel/hooks/useDownloadPayments.ts
@@ -10,12 +10,15 @@ import { transformPayEventsRes } from "../utils/transformEventsData";
export const useDownloadPayments = (blockNumber: number, projectId: number) => {
const [isLoading, setIsLoading] = useState(false);
- const { data: payEventsData } = useSubgraphQuery(PayEventsDocument, {
- orderBy: PayEvent_OrderBy.timestamp,
- orderDirection: OrderDirection.desc,
- where: {
- projectId: Number(projectId),
- },
+ const { data: payEventsData } = useSubgraphQuery({
+ document: PayEventsDocument,
+ variables: {
+ orderBy: PayEvent_OrderBy.timestamp,
+ orderDirection: OrderDirection.desc,
+ where: {
+ projectId: Number(projectId),
+ },
+ }
});
const downloadPayments = useCallback(async () => {
diff --git a/src/packages/v4/views/V4ProjectDashboard/hooks/useV4ProjectHeader.ts b/src/packages/v4/views/V4ProjectDashboard/hooks/useV4ProjectHeader.ts
index a09560f02b..b43598df3c 100644
--- a/src/packages/v4/views/V4ProjectDashboard/hooks/useV4ProjectHeader.ts
+++ b/src/packages/v4/views/V4ProjectDashboard/hooks/useV4ProjectHeader.ts
@@ -35,10 +35,13 @@ export const useV4ProjectHeader = (): ProjectHeaderData => {
const projectIdNum = parseInt(projectId.toString())
- const { data } = useSubgraphQuery(ProjectsDocument, {
- where: {
- projectId: projectIdNum,
- },
+ const { data } = useSubgraphQuery({
+ document: ProjectsDocument,
+ variables: {
+ where: {
+ projectId: projectIdNum,
+ },
+ }
})
const projectStatsData = data?.projects?.[0]