-
Notifications
You must be signed in to change notification settings - Fork 863
/
zerion-wallet.ts
43 lines (37 loc) · 1.41 KB
/
zerion-wallet.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { Adapter, FetchOptions, FetchResultFees } from "../adapters/types";
import { CHAIN } from "../helpers/chains";
import { addGasTokensReceived, addTokensReceived } from "../helpers/token";
type TMulitsig = {
[s: string]: string[];
}
const multisig1 = "0x4a183b7ed67b9e14b3f45abfb2cf44ed22c29e54";
const multisig2 = "0x7d20ab6d8af50d87a5e8def46e48f4d7dc2ea5c7";
const multisigs: TMulitsig = {
[CHAIN.ETHEREUM]: [multisig1],
[CHAIN.OPTIMISM]: [multisig2],
[CHAIN.ARBITRUM]: [multisig1],
[CHAIN.BASE]: [multisig2],
[CHAIN.POLYGON]: [multisig1],
[CHAIN.BSC]: [multisig1]
}
const fetch: any = async (timestamp: number, _: any, options: FetchOptions): Promise<FetchResultFees> => {
const dailyFees = await addGasTokensReceived({ multisigs: multisigs[options.chain], options })
await addTokensReceived({ targets: multisigs[options.chain], options, balances: dailyFees,})
return { timestamp, dailyFees, dailyRevenue: dailyFees, dailyProtocolRevenue: dailyFees, }
}
const methodology = {
Fees: "Take 0.5% from trading volume",
Revenue: "Take 0.5% from trading volume",
}
const chainAdapter = { fetch, start: 1672531200, meta: { methodology } }
const adapter: Adapter = {
adapter: {
[CHAIN.ETHEREUM]: chainAdapter,
[CHAIN.OPTIMISM]: chainAdapter,
[CHAIN.ARBITRUM]: chainAdapter,
[CHAIN.BASE]: chainAdapter,
[CHAIN.POLYGON]: chainAdapter,
[CHAIN.BSC]: chainAdapter,
}
}
export default adapter;