Skip to content

Commit

Permalink
Merge pull request #1756 from GotFly/master
Browse files Browse the repository at this point in the history
CSPT-454 Added Chainspot adapter
  • Loading branch information
dtmkeng committed Aug 21, 2024
2 parents aec3a3b + 59d52b3 commit fac5a4a
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions aggregators/chainspot/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
import { httpGet } from "../../utils/fetchURL";
import { getUniqStartOfTodayTimestamp } from "../../helpers/getUniSubgraphVolume";
import { CHAIN } from "../../helpers/chains";
import { FetchOptions } from "../../adapters/types";

const chains = [
CHAIN.ETHEREUM,
CHAIN.POLYGON,
CHAIN.BSC,
CHAIN.AVAX,
CHAIN.OPTIMISM,
CHAIN.FANTOM,
CHAIN.ARBITRUM,
CHAIN.AURORA,
CHAIN.CELO,
CHAIN.BOBA,
CHAIN.XDAI,
CHAIN.TELOS,
CHAIN.BASE,
CHAIN.LINEA,
CHAIN.MANTLE,
CHAIN.MOONBEAM,
CHAIN.CRONOS,
CHAIN.BLAST,
CHAIN.EVMOS,
CHAIN.FUSE,
CHAIN.HARMONY,
CHAIN.KAVA,
CHAIN.MOONRIVER,
CHAIN.OKEXCHAIN,
CHAIN.SCROLL,
CHAIN.TRON,
CHAIN.TON,
CHAIN.WAN,
CHAIN.ZKLINK,
CHAIN.ZKSYNC,
];

const chainToId: Record<string, number> = {
[CHAIN.ETHEREUM]: 1,
[CHAIN.POLYGON]: 137,
[CHAIN.BSC]: 56,
[CHAIN.AVAX]: 43114,
[CHAIN.OPTIMISM]: 10,
[CHAIN.FANTOM]: 250,
[CHAIN.ARBITRUM]: 42161,
[CHAIN.AURORA]: 1313161554,
[CHAIN.CELO]: 42220,
[CHAIN.BOBA]: 288,
[CHAIN.XDAI]: 100,
[CHAIN.TELOS]: 40,
[CHAIN.BASE]: 8453,
[CHAIN.LINEA]: 59144,
[CHAIN.MANTLE]: 5000,
[CHAIN.MOONBEAM]: 1284,
[CHAIN.CRONOS]: 25,
[CHAIN.BLAST]: 81457,
[CHAIN.EVMOS]: 9001,
[CHAIN.FUSE]: 122,
[CHAIN.HARMONY]: 1666600000,
[CHAIN.KAVA]: 2222,
[CHAIN.MOONRIVER]: 1285,
[CHAIN.OKEXCHAIN]: 66,
[CHAIN.SCROLL]: 534352,
[CHAIN.TRON]: 728126428,
[CHAIN.TON]: -239,
[CHAIN.WAN]: 888,
[CHAIN.ZKLINK]: 810180,
[CHAIN.ZKSYNC]: 324,
};

const fetch = async (_at: number, _t: any, options: FetchOptions) => {
const unixTimestamp = getUniqStartOfTodayTimestamp(
new Date(options.startOfDay * 1000)
);
const url = `https://app.chainspot.io/api/2.0/statistic/daily-volume?chainId=${chainToId[options.chain]}&timestamp=${unixTimestamp * 1e3}`;
const volume = (
await httpGet(url)
)?.volume;

return {
dailyVolume: volume || 0,
timestamp: unixTimestamp,
};
};

const adapter: any = {
adapter: {
...chains.reduce((acc, chain) => {
return {
...acc,
[chain]: {
fetch: fetch,
start: 1704067200,
},
};
}, {}),
},
};

export default adapter;

0 comments on commit fac5a4a

Please sign in to comment.