Skip to content

Commit b14c64e

Browse files
noatedenlighthx
andauthored
Brotocol pr (#4574)
* ``` add brotocol bridge aggregator ``` * feat: breakdown volume by chain * refactor --------- Co-authored-by: xin <[email protected]>
1 parent 76fbd59 commit b14c64e

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { FetchOptions, SimpleAdapter } from "../../adapters/types";
2+
import { CHAIN } from "../../helpers/chains";
3+
import fetchURL from "../../utils/fetchURL";
4+
5+
interface ApiResponse {
6+
day: string;
7+
volume: number;
8+
}
9+
10+
const chains: Record<string, string> = {
11+
[CHAIN.AILAYER]: 'AILayer',
12+
[CHAIN.ARBITRUM]: 'Arbitrum',
13+
[CHAIN.AURORA]: 'Aurora',
14+
[CHAIN.AVAX]: 'AVAX',
15+
[CHAIN.BASE]: 'Base',
16+
[CHAIN.BITCOIN]: 'Bitcoin',
17+
[CHAIN.BITLAYER]: 'Bitlayer',
18+
[CHAIN.BSC]: 'BNB',
19+
[CHAIN.BOB]: 'BOB',
20+
[CHAIN.BSQUARED]: 'Bsquared',
21+
[CHAIN.CORE]: 'CORE',
22+
[CHAIN.ETHEREUM]: 'Ethereum',
23+
[CHAIN.LINEA]: 'Linea',
24+
[CHAIN.MANTA]: 'Manta',
25+
[CHAIN.MERLIN]: 'Merlin',
26+
[CHAIN.MEZO]: 'Mezo',
27+
[CHAIN.MODE]: 'MODE',
28+
[CHAIN.SOLANA]: 'Solana',
29+
[CHAIN.STACKS]: 'Stacks',
30+
[CHAIN.XLAYER]: 'Xlayer',
31+
32+
// dead chains
33+
// [CHAIN.LORENZO]: 'Lorenzo',
34+
// [CHAIN.RUNES]: 'Runes',
35+
// [CHAIN.BRC20]: 'BRC20',
36+
};
37+
38+
39+
const api = "https://api.brotocol.xyz/v1/xlink/bridge-chain-volume-by-day"
40+
41+
const fetch = async (_a: any, _b: any, options: FetchOptions) => {
42+
const dateStr = new Date(options.startOfDay * 1000).toISOString().split('T')[0]
43+
const data: ApiResponse = await fetchURL(`${api}?day=${dateStr}&chain=${chains[options.chain]}`)
44+
return { dailyBridgeVolume: data.volume }
45+
}
46+
47+
const adapter: SimpleAdapter = {
48+
adapter: {
49+
...Object.entries(chains).reduce((acc, chain) => {
50+
const [key, _] = chain;
51+
return {
52+
...acc,
53+
[key]: {
54+
fetch,
55+
runAtCurrTime: true,
56+
// start: "2023-04-17",
57+
},
58+
};
59+
}, {}),
60+
},
61+
};
62+
63+
export default adapter;

helpers/chains.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ export enum CHAIN {
272272
HIBACHI = "hibachi",
273273
SATORI = "satori",
274274
SHIBARIUM = "shibarium",
275+
AILAYER = 'ailayer',
276+
MEZO = 'mezo',
275277
ETHEREAL = "ethereal",
276-
MEZO = "mezo",
277278
}

0 commit comments

Comments
 (0)