Skip to content

Commit

Permalink
Merge pull request #2422 from piperxprotocol/master
Browse files Browse the repository at this point in the history
Add PiperX Total volume
  • Loading branch information
dtmkeng authored Feb 20, 2025
2 parents a64e2d3 + f6fc936 commit 9b36318
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 0 deletions.
47 changes: 47 additions & 0 deletions dexs/piperx-v2/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { GraphQLClient, gql } from 'graphql-request'
import { CHAIN } from "../../helpers/chains";
import { FetchOptions } from "../../adapters/types";

const PIPERX_GRAPHQL_URL = 'https://api.goldsky.com/api/public/project_clzxbl27v2ce101zr2s7sfo05/subgraphs/story-dex-swaps-mainnet/1.0.4/gn'

const graphQLClient = new GraphQLClient(PIPERX_GRAPHQL_URL)

const METRICS_QUERY = gql`
query getDexMetrics {
dex(id: "piperx") {
totalVolumeV2USD
}
}
`
const DAILY_VOLUME_QUERY = (dayID: string) => gql`
query {
dexvolume(id: "${dayID}") {
totalVolumeV2USD
}
}
`
async function volume(options: FetchOptions) {
const dayID = Math.floor(options.endTimestamp / 86400).toString();
const dayIDLastDay = Math.floor(options.startTimestamp / 86400).toString();

const { dex } = await graphQLClient.request(METRICS_QUERY)
const { dexvolume: dexvolumes } = await graphQLClient.request(DAILY_VOLUME_QUERY(dayID))
const { dexvolume: dexvolumesLastDay } = await graphQLClient.request(DAILY_VOLUME_QUERY(dayIDLastDay))
// The value has 6 decimal places
const totalVolumeUSD = Number(dex.totalVolumeV2USD) / 1e6
const dailyVolumeUSD = (Number(dexvolumes.totalVolumeV2USD) / 1e6) - (Number(dexvolumesLastDay.totalVolumeV2USD) / 1e6)
return {
dailyVolume: dailyVolumeUSD,
totalVolume: totalVolumeUSD
}
}

export default {
version: 2,
adapter: {
[CHAIN.STORY]: {
fetch: volume,
start: '2025-02-12',
},
},
}
47 changes: 47 additions & 0 deletions dexs/piperx-v3/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { GraphQLClient, gql } from 'graphql-request'
import { CHAIN } from "../../helpers/chains";
import { FetchOptions } from "../../adapters/types";

const PIPERX_GRAPHQL_URL = 'https://api.goldsky.com/api/public/project_clzxbl27v2ce101zr2s7sfo05/subgraphs/story-dex-swaps-mainnet/1.0.4/gn'

const graphQLClient = new GraphQLClient(PIPERX_GRAPHQL_URL)

const METRICS_QUERY = gql`
query getDexMetrics {
dex(id: "piperx") {
totalVolumeV3USD
}
}
`
const DAILY_VOLUME_QUERY = (dayID: string) => gql`
query {
dexvolume(id: "${dayID}") {
totalVolumeV3USD
}
}
`
async function volume(options: FetchOptions) {
const dayID = Math.floor(options.endTimestamp / 86400).toString();
const dayIDLastDay = Math.floor(options.startTimestamp / 86400).toString();

const { dex } = await graphQLClient.request(METRICS_QUERY)
const { dexvolume: dexvolumes } = await graphQLClient.request(DAILY_VOLUME_QUERY(dayID))
const { dexvolume: dexvolumesLastDay } = await graphQLClient.request(DAILY_VOLUME_QUERY(dayIDLastDay))
// The value has 6 decimal places
const totalVolumeUSD = Number(dex.totalVolumeV3USD) / 1e6
const dailyVolumeUSD = (Number(dexvolumes.totalVolumeV3USD) / 1e6) - (Number(dexvolumesLastDay.totalVolumeV3USD) / 1e6)
return {
dailyVolume: dailyVolumeUSD,
totalVolume: totalVolumeUSD
}
}

export default {
version: 2,
adapter: {
[CHAIN.STORY]: {
fetch: volume,
start: '2025-02-12',
},
},
}

0 comments on commit 9b36318

Please sign in to comment.