From afd05909053887c3257002aba3e19b9db29369c4 Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 14:44:43 +0100 Subject: [PATCH 1/9] clipper --- dexs/clipper/index.ts | 10 ++++------ helpers/getUniSubgraphVolume.ts | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/dexs/clipper/index.ts b/dexs/clipper/index.ts index 7457ac5325..72a0e1ab12 100644 --- a/dexs/clipper/index.ts +++ b/dexs/clipper/index.ts @@ -2,26 +2,24 @@ import * as sdk from "@defillama/sdk"; import { Chain } from "@defillama/sdk/build/general"; import { SimpleAdapter } from "../../adapters/types"; import { CHAIN } from "../../helpers/chains"; -const { - getChainVolume, -} = require("../../helpers/getUniSubgraphVolume"); +import { getChainVolume2 } from "../../helpers/getUniSubgraphVolume"; + const endpoints = { [CHAIN.ETHEREUM]: sdk.graph.modifyEndpoint('2BhN8mygHMmRkceMmod7CEEsGkcxh91ExRbEfRVkpVGM'), [CHAIN.OPTIMISM]: sdk.graph.modifyEndpoint('Cu6atAfi6uR9mLMEBBjkhKSUUXHCobbB83ctdooexQ9f'), [CHAIN.POLYGON]: sdk.graph.modifyEndpoint('Brmf2gRdpLFsEF6YjSAMVrXqSfbhsaaWaWzdCYjE7iYY'), - [CHAIN.MOONBEAN]: sdk.graph.modifyEndpoint('8zRk4WV9vUU79is2tYGWq9GKh97f93LsZ8V9wy1jSMvA'), + // [CHAIN.MOONBEAN]: sdk.graph.modifyEndpoint('8zRk4WV9vUU79is2tYGWq9GKh97f93LsZ8V9wy1jSMvA'), [CHAIN.ARBITRUM]: sdk.graph.modifyEndpoint('ATBQPRjT28GEK6UaBAzXy64x9kFkNk1r64CdgmDJ587W'), }; const VOLUME_FIELD = "volumeUSD"; -const graphs = getChainVolume({ +const graphs = getChainVolume2({ graphUrls: endpoints, totalVolume: { factory: "pools", field: VOLUME_FIELD, }, - hasDailyVolume: false, }); diff --git a/helpers/getUniSubgraphVolume.ts b/helpers/getUniSubgraphVolume.ts index a14dc93b1d..b9dcc8af2d 100644 --- a/helpers/getUniSubgraphVolume.ts +++ b/helpers/getUniSubgraphVolume.ts @@ -199,7 +199,7 @@ function getChainVolume2({ } `; - const graphQueryTotalVolume = gql`${hasTotalVolume ? `query get_total_volume($block: Int) { ${totalVolumeQuery} }` : ""}` + const graphQueryTotalVolume = gql`query get_total_volume($block: Int) { ${totalVolumeQuery} }` return (chain: Chain) => { return async (options: FetchOptions) => { From 432fed99b66783c69de2beaa7a64bfdbe1c708bf Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 14:46:22 +0100 Subject: [PATCH 2/9] vvs --- dexs/vvs-finance/index.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dexs/vvs-finance/index.ts b/dexs/vvs-finance/index.ts index 1375d9b330..ef77266859 100644 --- a/dexs/vvs-finance/index.ts +++ b/dexs/vvs-finance/index.ts @@ -1,10 +1,9 @@ -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapter = univ2Adapter({ +const adapter = univ2Adapter2({ "cronos": "https://graph.cronoslabs.com/subgraphs/name/vvs/exchange" },{ factoriesName: "vvsFactories", - dayData: "vvsDayData", }); adapter.adapter.cronos.start = 1632035122; // 1 a year ago From 1afd285e37b16691564035f95bbd963a9de47210 Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 14:49:23 +0100 Subject: [PATCH 3/9] syncswap --- dexs/hercules-v3/index.ts | 7 ++----- dexs/syncswap/index.ts | 14 ++++++-------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/dexs/hercules-v3/index.ts b/dexs/hercules-v3/index.ts index 38b6c984d7..a6fd17f80d 100644 --- a/dexs/hercules-v3/index.ts +++ b/dexs/hercules-v3/index.ts @@ -1,13 +1,10 @@ -// https://metisapi.0xgraph.xyz/subgraphs/name/cryptoalgebra/analytics import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.METIS]: "https://metisapi.0xgraph.xyz/subgraphs/name/cryptoalgebra/analytics" }, { factoriesName: "factories", - dayData: "algebraDayData", - dailyVolume: "volumeUSD", totalVolume: "totalVolumeUSD", }); diff --git a/dexs/syncswap/index.ts b/dexs/syncswap/index.ts index e1c2805b7d..8a43e7c051 100644 --- a/dexs/syncswap/index.ts +++ b/dexs/syncswap/index.ts @@ -1,18 +1,16 @@ -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; import { CHAIN } from "../../helpers/chains"; const endpoints = { - [CHAIN.ERA]: "https://api.studio.thegraph.com/query/30365/syncswap-graph/1.4.0", + [CHAIN.ERA]: + "https://api.studio.thegraph.com/query/30365/syncswap-graph/1.4.0", }; -const adapter = univ2Adapter(endpoints, { +const adapter = univ2Adapter2(endpoints, { factoriesName: "syncSwapFactories", - dayData: "dayData", - dailyVolume: "dailyVolumeUSD", totalVolume: "totalVolumeUSD", - dailyVolumeTimestampField: "date", }); -adapter.adapter.era.start = 1679529600 +adapter.adapter.era.start = 1679529600; -export default adapter +export default adapter; From 3e6db546023a399dbf84b609e11e7d8bd287944f Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 15:27:44 +0100 Subject: [PATCH 4/9] based --- dexs/based-markets/index.ts | 106 ++++++++---------------------------- 1 file changed, 22 insertions(+), 84 deletions(-) diff --git a/dexs/based-markets/index.ts b/dexs/based-markets/index.ts index 5588d4c518..c774d91443 100644 --- a/dexs/based-markets/index.ts +++ b/dexs/based-markets/index.ts @@ -1,92 +1,30 @@ import * as sdk from "@defillama/sdk"; -import request, { gql } from "graphql-request"; -import { FetchResultVolume, SimpleAdapter } from "../../adapters/types"; +import { SimpleAdapter } from "../../adapters/types"; import { CHAIN } from "../../helpers/chains"; -import BigNumber from "bignumber.js"; -import { getUniqStartOfTodayTimestamp } from "../../helpers/getUniSubgraphVolume"; - -const ONE_DAY_IN_SECONDS = 60 * 60 * 24 - -const endpoint = sdk.graph.modifyEndpoint('3E7EJF1zWHD3LHTKV5L6dspCno2ghxZ3WYe9MN7QVnEE') - -const query = gql` - query stats($from: String!, $to: String!) { - dailyHistories(where: {timestamp_gte: $from, timestamp_lte: $to, accountSource: "0x1c03B6480a4efC2d4123ba90d7857f0e1878B780"}){ - timestamp - platformFee - accountSource - tradeVolume - } - totalHistories(where: {accountSource: "0x1c03B6480a4efC2d4123ba90d7857f0e1878B780"}) { - timestamp - platformFee - accountSource - tradeVolume - } - } -` - - -interface IGraphResponse { - dailyHistories: Array<{ - tiemstamp: string, - platformFee: string, - accountSource: string, - tradeVolume: string - }> - totalHistories: Array<{ - tiemstamp: string, - platformFee: string, - accountSource: string, - tradeVolume: BigNumber - }> -} - -const toString = (x: BigNumber) => { - if (x.isEqualTo(0)) return undefined - return x.toString() -} - -const fetchVolume = async (timestamp: number): Promise => { - const response: IGraphResponse = await request(endpoint, query, { - from: String(timestamp - ONE_DAY_IN_SECONDS), - to: String(timestamp) - }) - - - let dailyVolume = new BigNumber(0); - response.dailyHistories.forEach(data => { - dailyVolume = dailyVolume.plus(new BigNumber(data.tradeVolume)) - }); - - let totalVolume = new BigNumber(0); - response.totalHistories.forEach(data => { - totalVolume = totalVolume.plus(new BigNumber(data.tradeVolume)) - }); - - dailyVolume = dailyVolume.dividedBy(new BigNumber(1e18)) - totalVolume = totalVolume.dividedBy(new BigNumber(1e18)) - - const _dailyVolume = toString(dailyVolume) - const _totalVolume = toString(totalVolume) - - const dayTimestamp = getUniqStartOfTodayTimestamp(new Date((timestamp * 1000))) - - return { - timestamp: dayTimestamp, - dailyVolume: _dailyVolume, - totalVolume: _totalVolume, - } - -} +import { getGraphDimensions2 } from "../../helpers/getUniSubgraph"; + +const fetch = getGraphDimensions2({ + graphUrls: { + [CHAIN.BASE]: sdk.graph.modifyEndpoint( + "3E7EJF1zWHD3LHTKV5L6dspCno2ghxZ3WYe9MN7QVnEE", + ), + }, + totalVolume: { + factory: "factories", + }, + totalFees: { + factory: "factories", + }, +}); const adapter: SimpleAdapter = { + version: 2, adapter: { [CHAIN.BASE]: { - fetch: fetchVolume, - start: 1704009000 - } - } -} + fetch: fetch(CHAIN.BASE), + start: 1704009000, + }, + }, +}; export default adapter; From f91a216f9ace2e04ccb77b7bb9aae7e363f29ecf Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 15:36:36 +0100 Subject: [PATCH 5/9] zebra --- dexs/zebra-v2/index.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/dexs/zebra-v2/index.ts b/dexs/zebra-v2/index.ts index ac8bdc2e38..dd10418bee 100644 --- a/dexs/zebra-v2/index.ts +++ b/dexs/zebra-v2/index.ts @@ -1,18 +1,14 @@ -// https://api.studio.thegraph.com/query/55584/v3_scroll/version/latest -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; import { CHAIN } from "../../helpers/chains"; const endpoints = { [CHAIN.SCROLL]: "https://api.studio.thegraph.com/query/55584/v3_scroll/version/latest", }; -const adapter = univ2Adapter(endpoints, { +const adapter = univ2Adapter2(endpoints, { factoriesName: "factories", - dayData: "uniswapDayData", - dailyVolume: "volumeUSD", totalVolume: "totalVolumeUSD", - dailyVolumeTimestampField: "date", }); adapter.adapter.scroll.start = 1700697600 From bc8fe21a32efb791e71cc6c619129a2a8abd1b99 Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 15:40:27 +0100 Subject: [PATCH 6/9] pulsex --- dexs/pulsex-v2/index.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dexs/pulsex-v2/index.ts b/dexs/pulsex-v2/index.ts index 8c2ca1150d..1ae6dd8092 100644 --- a/dexs/pulsex-v2/index.ts +++ b/dexs/pulsex-v2/index.ts @@ -1,11 +1,10 @@ import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.PULSECHAIN]: "https://graph.pulsechain.com/subgraphs/name/pulsechain/pulsexv2" }, { factoriesName: "pulseXFactories", - dayData: "pulsexDayData", }); adapters.adapter.pulse.start = 1685577600; From 836b85c1ad7b15c22c6b074c4aaeff618111b655 Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 16:11:54 +0100 Subject: [PATCH 7/9] dragon v2 --- dexs/dragonswap-sei/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexs/dragonswap-sei/index.ts b/dexs/dragonswap-sei/index.ts index 0749418322..6bdc35cde1 100644 --- a/dexs/dragonswap-sei/index.ts +++ b/dexs/dragonswap-sei/index.ts @@ -1,7 +1,7 @@ import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.SEI]: "https://api.goldsky.com/api/public/project_clu1fg6ajhsho01x7ajld3f5a/subgraphs/dragonswap-prod/1.0.0/gn" }, {}); From e6f5dd86efd1ec0be171e1137f88aaab8f9936bb Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 16:13:40 +0100 Subject: [PATCH 8/9] apeswap --- dexs/apeswap/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexs/apeswap/index.ts b/dexs/apeswap/index.ts index 74b85b7614..96ed65c49a 100644 --- a/dexs/apeswap/index.ts +++ b/dexs/apeswap/index.ts @@ -1,8 +1,8 @@ import * as sdk from "@defillama/sdk"; import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.BSC]: sdk.graph.modifyEndpoint('GH4Zt29mCApHwMfavNFw5ZdQDH3owc2Wq8DdU4hGPXYe'), [CHAIN.POLYGON]: sdk.graph.modifyEndpoint('EcLNjgAFADeXVopmhv3HY79fayzXRtK8R9imZNopRBpE'), [CHAIN.ETHEREUM]: sdk.graph.modifyEndpoint('6J4fEY6pSRsqaqDbHn17HJY1viPzrGc1pjCqBKrrQXPC'), From d42012ccec22f121fbd0509ec2552b10d0b66a6e Mon Sep 17 00:00:00 2001 From: waynebruce0x Date: Mon, 16 Sep 2024 16:19:15 +0100 Subject: [PATCH 9/9] pangolin --- dexs/camelot/index.ts | 4 ++-- dexs/pangolin/index.ts | 16 ++++++++++------ dexs/thena/index.ts | 7 ++----- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/dexs/camelot/index.ts b/dexs/camelot/index.ts index b98070897e..fb1b521996 100644 --- a/dexs/camelot/index.ts +++ b/dexs/camelot/index.ts @@ -1,8 +1,8 @@ import * as sdk from "@defillama/sdk"; import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.ARBITRUM]: sdk.graph.modifyEndpoint('8zagLSufxk5cVhzkzai3tyABwJh53zxn9tmUYJcJxijG') }, {}); diff --git a/dexs/pangolin/index.ts b/dexs/pangolin/index.ts index f4e0fb0195..0ad4c0f6f6 100644 --- a/dexs/pangolin/index.ts +++ b/dexs/pangolin/index.ts @@ -1,9 +1,13 @@ import * as sdk from "@defillama/sdk"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -export default univ2Adapter({ - "avax": sdk.graph.modifyEndpoint('CPXTDcwh6tVP88QvFWW7pdvZJsCN4hSnfMmYeF1sxCLq') -}, { +export default univ2Adapter2( + { + avax: sdk.graph.modifyEndpoint( + "CPXTDcwh6tVP88QvFWW7pdvZJsCN4hSnfMmYeF1sxCLq", + ), + }, + { factoriesName: "pangolinFactories", - dayData: "pangolinDayData", -}); + }, +); diff --git a/dexs/thena/index.ts b/dexs/thena/index.ts index e51d98382f..941e0abb85 100644 --- a/dexs/thena/index.ts +++ b/dexs/thena/index.ts @@ -1,15 +1,12 @@ import * as sdk from "@defillama/sdk"; import { CHAIN } from "../../helpers/chains"; -import { univ2Adapter } from "../../helpers/getUniSubgraphVolume"; +import { univ2Adapter2 } from "../../helpers/getUniSubgraphVolume"; -const adapters = univ2Adapter({ +const adapters = univ2Adapter2({ [CHAIN.BSC]: sdk.graph.modifyEndpoint('FKEt2N5VmSdEYcz7fYLPvvnyEUkReQ7rvmXzs6tiKCz1') }, { factoriesName: "factories", totalVolume: "totalVolumeUSD", - dayData: "dayData", - dailyVolume: "dailyVolumeUSD", - dailyVolumeTimestampField: "date" }); adapters.adapter.bsc.start = 1672790400;