Skip to content

Commit

Permalink
Merge branch 'master' into debug
Browse files Browse the repository at this point in the history
  • Loading branch information
waynebruce0x committed Sep 15, 2024
2 parents cceca58 + 1db2f7e commit 6c4e75d
Show file tree
Hide file tree
Showing 25 changed files with 696 additions and 383 deletions.
2 changes: 1 addition & 1 deletion aggregator-derivatives/kwenta/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const PROVIDER_CONFIG = {
},
[CHAIN.ARBITRUM]: {
startTimestamp: 1696032000,
endpoint: "https://subgraph.satsuma-prod.com/7ed49092fef1/equilibria/perennial-v2-arbitrum-new/api",
endpoint: "https://subgraph.perennial.finance/arbitrum",
query: gql`
query aggregateStats($startTimestamp: BigInt!, $endTimestamp: BigInt!) {
marketAccumulations(
Expand Down
10 changes: 7 additions & 3 deletions aggregator-derivatives/vooi/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,20 @@ const fetchArbitrum = async (timestamp: number, _t: any, options: FetchOptions):
if (!synfuturesItem) {
synfuturesItem = {dailyVolume: 0, totalVolume: 0}
}
let kiloexItem = fetchData.find(((item) => item.protocol == "kiloex"))
let kiloexItem = fetchData.filter(((item) => item.protocol == "kiloex"))
if (!kiloexItem) {
kiloexItem = {dailyVolume: 0, totalVolume: 0}
}
let dailyVolume = Number(orderlyItem.dailyVolume) + Number(kiloexItem.dailyVolume)
let totalVolume = Number(orderlyItem.totalVolume) + Number(kiloexItem.totalVolume)
let dailyVolume = Number(orderlyItem.dailyVolume)
let totalVolume = Number(orderlyItem.totalVolume)
for (let i in synfuturesItem){
dailyVolume = Number(dailyVolume) + Number(synfuturesItem[i].dailyVolume)
totalVolume = Number(totalVolume) + Number(synfuturesItem[i].totalVolume)
}
for (let i in kiloexItem){
dailyVolume = Number(dailyVolume) + Number(kiloexItem[i].dailyVolume)
totalVolume = Number(totalVolume) + Number(kiloexItem[i].totalVolume)
}
return {
dailyVolume,
totalVolume,
Expand Down
38 changes: 38 additions & 0 deletions aggregators/swap-coffee/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { Adapter, FetchV2 } from "../../adapters/types";
import { httpGet } from "../../utils/fetchURL";
import { CHAIN } from "../../helpers/chains";
import { DAY, getTimestampAtStartOfDay } from "../../utils/date";

const statisticsEndpoint = "https://backend.swap.coffee/v1/statistics/generic"

const fetch: FetchV2 = async ({startTimestamp}) => {
const start = getTimestampAtStartOfDay(startTimestamp)
const end = start + DAY

const statistics = await httpGet(
statisticsEndpoint,
{
params: {
from: start,
to: end
}
})

return {
timestamp: end,
dailyVolume: statistics?.volume,
dailyFees: statistics?.fees,
};
}

const adapter: Adapter = {
version: 2,
adapter: {
[CHAIN.TON]: {
fetch,
start: 1717957740,
},
}
}

export default adapter;
43 changes: 28 additions & 15 deletions aggregators/udex-agg/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,57 @@ import { Chain } from "@defillama/sdk/build/general";
import { FetchResult, FetchResultV2, FetchV2, SimpleAdapter } from "../../adapters/types";
import { CHAIN } from "../../helpers/chains";
import customBackfill from "../../helpers/customBackfill";
import fetchURL from "../../utils/fetchURL";
import { getTimestampAtStartOfPreviousDayUTC } from "../../utils/date";

let abi = ["event Swap(address indexed payer,address indexed payee,address fromToken,address toToken,uint fromAmount,uint receivedAmount)"];
let knownTokens=new Set(["0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c","0x55d398326f99059fF775485246999027B3197955","0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"])
let knownTokens = new Set(["0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", "0x55d398326f99059fF775485246999027B3197955", "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"]);
type IContract = {
[c: string | Chain]: string;
}
};

const contract: IContract = {
[CHAIN.BSC]: '0xfCD555b55AA785d46E8c6e9bBB109b10602c431c',
[CHAIN.POLYGON]:'0x464599BDaC77E8e5843D5BbC531EC8aD75d3F7b1',
[CHAIN.ETHEREUM]:'0x9556E8ce70ceA3c43e4A6c17ad2FAb258067b058',
[CHAIN.BASE]:'0x334F493613c1dD33a364684802fB9C728dfcE1A5'

}

const fetch: FetchV2 = async ({ getLogs, createBalances, chain, }): Promise<FetchResultV2> => {
};
const bscStatsApi = "https://public.udex.one/bsc/indexer/56/udex/daliyVolume?";//return max 24 hour volume
const fetch: FetchV2 = async ({ getLogs, createBalances, chain,fromTimestamp, toTimestamp }): Promise<FetchResultV2> => {
const dailyVolume = createBalances();
const logs = (await getLogs({ target: contract[chain], eventAbi: abi[0] }))
logs.map((log: any) => {
if ( knownTokens.has(log.toToken)){
dailyVolume.add(log.toToken, log.receivedAmount)
}else{
dailyVolume.add(log.fromToken, log.fromAmount)
const reqUrl=bscStatsApi+`from_timestamp=${fromTimestamp}&to_timestamp=${toTimestamp}`
if (chain == CHAIN.BSC) {
let data = await fetchURL(reqUrl);
if (data.data) {
return { dailyVolume: data.data};
}
return { dailyVolume: 0 };
} else {
const logs = (await getLogs({ target: contract[chain], eventAbi: abi[0] }));
logs.map((log: any) => {
if (knownTokens.has(log.toToken)) {
dailyVolume.add(log.toToken, log.receivedAmount);
} else {
dailyVolume.add(log.fromToken, log.fromAmount);
}
});
return { dailyVolume };
return { dailyVolume };
}

};


const adapter: SimpleAdapter = {
adapter: Object.keys(contract).reduce((acc, chain) => {
return {
...acc,
[chain]: {
fetch,
start: 1701388800,
runAtCurrTime:false
start: 1724889600,
runAtCurrTime: false
},
}
};
}, {}),
version: 2,
};
Expand Down
38 changes: 38 additions & 0 deletions aggregators/wolfswap/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { ChainBlocks, FetchOptions } from "../../adapters/types";

const abis = {
"Swapped": "event Swapped(uint indexed id, address wallet, address sourceToken, address destinationToken, uint amountOut)",
}

const contracts = {
polygon: '0x9fB5f7Bc34cEd4dE039405D7bE26CbF1D0a420d9',
cronos: '0xeC68090566397DCC37e54B30Cc264B2d68CF0489',
cronos_zkevm: '0x7c39eAcCd16cDAD8BFE05e1874da1BD315DB766F',
base: '0xE6174feAD698da575312ae85020A3224E556f8F9',
avax: '0x643dEB007DfA43c0D7BeA2155E97E61279d9a56F',
sei: '0x1AD805e80b59C802f9D8059f904DCA6AC153de30',
blast: '0xb86a6e5702C327c5C051Bf5323Cb2bAb5E628d0c',
}

const fetch = async (timestamp: number, _: ChainBlocks, { createBalances, getLogs, chain, api }: FetchOptions) => {
const dailyVolume = createBalances()
const logs = await getLogs({ target: contracts[chain], eventAbi: abis.Swapped, })
logs.forEach((log: any) => {
dailyVolume.add(log.destinationToken, log.amountOut)
})
return { timestamp, dailyVolume }
};

const adapter: any = {
adapter: {
polygon: { fetch, start: 1710972000, },
cronos: { fetch, start: 1711317600, },
cronos_zkevm: { fetch, start: 1718830800, },
base: { fetch, start: 1713128400, },
avax: { fetch, start: 1717189200, },
//sei: { fetch, start: 1717189200, },
blast: { fetch, start: 1709848800, },
},
};

export default adapter;
78 changes: 42 additions & 36 deletions dexs/bmx-freestyle/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import BigNumber from "bignumber.js";
import { FetchOptions, FetchResultVolume, SimpleAdapter } from "../../adapters/types";
import {
FetchOptions,
FetchResultVolume,
SimpleAdapter,
} from "../../adapters/types";
import request, { gql } from "graphql-request";
import { CHAIN } from "../../helpers/chains";


const freestyleEndpoints: { [key: string]: string } = {
[CHAIN.BASE]:
"https://api.studio.thegraph.com/query/62454/analytics_base_8_2/version/latest",
"https://api-v2.morphex.trade/subgraph/3KhmYXgsM3CM1bbUCX8ejhcxQCtWwpUGhP7p9aDKZ94Z",
};

interface IGraphResponseFreestyle {
Expand Down Expand Up @@ -66,50 +69,53 @@ const freestyleQuery = gql`
}
`;

const fetchFreestyleVolume = async (timestamp: number, _t: any, options: FetchOptions): Promise<FetchResultVolume> => {
const startTime = options.startOfDay;
const endTime = startTime + ONE_DAY_IN_SECONDS;
const response: IGraphResponseFreestyle = await request(
freestyleEndpoints[options.chain],
freestyleQuery,
{
from: String(startTime),
to: String(endTime),
}
);

let dailyVolume = new BigNumber(0);
let totalVolume = new BigNumber(0);
const fetchFreestyleVolume = async (
timestamp: number,
_t: any,
options: FetchOptions
): Promise<FetchResultVolume> => {
const startTime = options.startOfDay;
const endTime = startTime + ONE_DAY_IN_SECONDS;
const response: IGraphResponseFreestyle = await request(
freestyleEndpoints[options.chain],
freestyleQuery,
{
from: String(startTime),
to: String(endTime),
}
);

response.dailyHistories.forEach((data) => {
dailyVolume = dailyVolume.plus(new BigNumber(data.tradeVolume));
});
response.totalHistories.forEach((data) => {
totalVolume = totalVolume.plus(new BigNumber(data.tradeVolume));
});
let dailyVolume = new BigNumber(0);
let totalVolume = new BigNumber(0);

dailyVolume = dailyVolume.dividedBy(new BigNumber(1e18));
totalVolume = totalVolume.dividedBy(new BigNumber(1e18));
response.dailyHistories.forEach((data) => {
dailyVolume = dailyVolume.plus(new BigNumber(data.tradeVolume));
});
response.totalHistories.forEach((data) => {
totalVolume = totalVolume.plus(new BigNumber(data.tradeVolume));
});

const _dailyVolume = toString(dailyVolume);
const _totalVolume = toString(totalVolume);
dailyVolume = dailyVolume.dividedBy(new BigNumber(1e18));
totalVolume = totalVolume.dividedBy(new BigNumber(1e18));

const _dailyVolume = toString(dailyVolume);
const _totalVolume = toString(totalVolume);

return {
timestamp: timestamp,
dailyVolume: _dailyVolume ?? "0",
totalVolume: _totalVolume ?? "0",
};
return {
timestamp: timestamp,
dailyVolume: _dailyVolume ?? "0",
totalVolume: _totalVolume ?? "0",
};
};

const adapter: SimpleAdapter = {
version: 1,
adapter: {
[CHAIN.BASE]: {
fetch: fetchFreestyleVolume,
start: 0
}
}
}
start: 1714554000,
},
},
};

export default adapter;
19 changes: 5 additions & 14 deletions dexs/bmx/index.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,18 @@
import request, { gql } from "graphql-request";
import {
BreakdownAdapter,
Fetch
} from "../../adapters/types";
import { BreakdownAdapter, Fetch } from "../../adapters/types";
import { CHAIN } from "../../helpers/chains";
import { getUniqStartOfTodayTimestamp } from "../../helpers/getUniSubgraphVolume";
import BigNumber from "bignumber.js";


const startTimestamps: { [chain: string]: number } = {
[CHAIN.BASE]: 1694304000,
[CHAIN.MODE]: 1720627435,
};
const endpoints: { [key: string]: string } = {
[CHAIN.BASE]:
"https://api.studio.thegraph.com/query/71696/bmx-base-stats/version/latest",
// [CHAIN.MODE]:
// "https://api.studio.thegraph.com/query/42444/bmx-mode-stats/version/latest",
};
const freestyleEndpoints: { [key: string]: string } = {
[CHAIN.BASE]:
"https://api.studio.thegraph.com/query/62454/analytics_base_8_2/version/latest",
"https://api-v2.morphex.trade/subgraph/2vZHkWfx8g27Tri5LkTbhvCExCQcXJ3f28X2BwzFhjf6",
[CHAIN.MODE]:
"https://api-v2.morphex.trade/subgraph/8tp7xrDSCuutJ5omjfQKHvkGJpLszqPVWg3pby9XMLEz",
};

const historicalDataSwap = gql`
Expand Down Expand Up @@ -154,7 +146,6 @@ const getFetch =
};
};


const adapter: BreakdownAdapter = {
breakdown: {
swap: Object.keys(endpoints).reduce((acc, chain) => {
Expand All @@ -166,7 +157,7 @@ const adapter: BreakdownAdapter = {
},
};
}, {}),
"derivatives": Object.keys(endpoints).reduce((acc, chain) => {
derivatives: Object.keys(endpoints).reduce((acc, chain) => {
return {
...acc,
[chain]: {
Expand Down
Loading

0 comments on commit 6c4e75d

Please sign in to comment.