Sub-Adapters 3
Preview and test each sub adapter.
Swapr - Ethereum (swapr-ethereum)
Swapr - xDai (swapr-xdai)
Swapr - Arbitrum (swapr-arbitrum)
Adapter Code
Check the entire code written for the Adapter.
Source code
Showing TS source. 
1export const name = 'Swapr Fees';
2export const version = '0.1.1';
3export const license = 'MIT';
4
5export function setup(sdk: Context) {
6  const getSwaprData = (subgraph: string) => async (date: string): Promise<number> => {
7    const graphQuery = `query fees($date: Int!) {
8      swaprDayDatas(where: { date: $date }) {
9        dailyVolumeUSD
10      }
11    }`;
12
13    const data = await sdk.graph.query(
14      subgraph,
15      graphQuery,
16      {
17        date: sdk.date.dateToTimestamp(date),
18      },
19    );
20
21    if (data.swaprDayDatas.length === 0) {
22      // throw new Error(`No Sushi data found on ${date} form ${subgraph}`);
23      return 0; // Temp, to allow arbitrum to show up
24    }
25
26    const oneDay = parseFloat(data.swaprDayDatas[0].dailyVolumeUSD) * 0.003;
27
28    return oneDay;
29  }
30
31  const metadata = {
32    category: 'dex',
33    name: 'Swapr',
34    icon: sdk.ipfs.getDataURILoader('QmZs62obE5ojw3VZd8ZuLSk3wymeyEbegQc9qVThWPHMqH', 'image/svg+xml'),
35    bundle: 'swapr',
36    blockchain: 'Ethereum',
37    description: 'Swapr is an automated market maker powered by the DXDAO',
38    feeDescription: 'Trading fees are paid by traders to liquidity providers',
39    source: 'The Graph Protocol',
40    adapter: 'swpar',
41    tokenTicker: 'SWPR',
42    website: 'https://swapr.eth.link',
43    protocolLaunch: '2020-12-10',
44  };
45
46
47  sdk.register({
48    id: 'swapr-ethereum',
49    bundle: 'swapr',
50    queries: {
51      oneDayTotalFees: getSwaprData('luzzif/swapr-mainnet-alpha'),
52    },
53    metadata: {
54      ...metadata,
55      subtitle: 'Ethereum',
56      protocolLaunch: '2020-12-10',
57    },
58  });
59
60  sdk.register({
61    id: 'swapr-xdai',
62    bundle: 'swapr',
63    queries: {
64      oneDayTotalFees: getSwaprData('luzzif/swapr-xdai'),
65    },
66    metadata: {
67      ...metadata,
68      subtitle: 'xDai',
69      blockchain: 'xDai',
70      protocolLaunch: '2021-03-10',
71    },
72  });
73
74  sdk.register({
75    id: 'swapr-arbitrum',
76    bundle: 'swapr',
77    queries: {
78      oneDayTotalFees: getSwaprData('luzzif/swapr-arbitrum-one-v2'),
79    },
80    metadata: {
81      ...metadata,
82      subtitle: 'Arbitrum',
83      blockchain: 'Arbitrum One',
84      protocolLaunch: '2021-08-30',
85    },
86  });
87
88  sdk.registerBundle('swapr', metadata);
89}
90
It's something off?
Report it to the discussion board on Discord, we will take care of it.