Skip to content

Commit f7e2318

Browse files
authored
AG-282: integrate muteswitch (#19)
1 parent 551506e commit f7e2318

File tree

10 files changed

+1997
-0
lines changed

10 files changed

+1997
-0
lines changed

pkg/source/handler.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package source
22

33
import (
44
"fmt"
5+
"github.com/KyberNetwork/kyberswap-dex-lib/pkg/source/muteswitch"
56
"github.com/KyberNetwork/kyberswap-dex-lib/pkg/source/ramses"
67

78
"github.com/KyberNetwork/ethrpc"
@@ -93,6 +94,15 @@ func NewPoolsListUpdaterHandler(
9394
cfg.DexID = scanDexCfg.Id
9495

9596
return velodrome.NewPoolListUpdater(&cfg, ethrpcClient), nil
97+
case muteswitch.DexTypeMuteSwitch:
98+
var cfg muteswitch.Config
99+
err := PropertiesToStruct(scanDexCfg.Properties, &cfg)
100+
if err != nil {
101+
return nil, err
102+
}
103+
cfg.DexID = scanDexCfg.Id
104+
105+
return muteswitch.NewPoolListUpdater(&cfg, ethrpcClient), nil
96106
case ramses.DexTypeRamses:
97107
var cfg ramses.Config
98108
err := PropertiesToStruct(scanDexCfg.Properties, &cfg)
@@ -316,6 +326,15 @@ func NewPoolTrackerHandler(
316326
cfg.DexID = scanDexCfg.Id
317327

318328
return velodrome.NewPoolTracker(&cfg, ethrpcClient)
329+
case muteswitch.DexTypeMuteSwitch:
330+
var cfg muteswitch.Config
331+
err := PropertiesToStruct(scanDexCfg.Properties, &cfg)
332+
if err != nil {
333+
return nil, err
334+
}
335+
cfg.DexID = scanDexCfg.Id
336+
337+
return muteswitch.NewPoolTracker(&cfg, ethrpcClient)
319338
case ramses.DexTypeRamses:
320339
var cfg ramses.Config
321340
err := PropertiesToStruct(scanDexCfg.Properties, &cfg)
Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
[
2+
{
3+
"inputs": [],
4+
"stateMutability": "nonpayable",
5+
"type": "constructor"
6+
},
7+
{
8+
"anonymous": false,
9+
"inputs": [
10+
{
11+
"indexed": true,
12+
"internalType": "address",
13+
"name": "token0",
14+
"type": "address"
15+
},
16+
{
17+
"indexed": true,
18+
"internalType": "address",
19+
"name": "token1",
20+
"type": "address"
21+
},
22+
{
23+
"indexed": false,
24+
"internalType": "bool",
25+
"name": "stable",
26+
"type": "bool"
27+
},
28+
{
29+
"indexed": false,
30+
"internalType": "address",
31+
"name": "pair",
32+
"type": "address"
33+
},
34+
{
35+
"indexed": false,
36+
"internalType": "uint256",
37+
"name": "",
38+
"type": "uint256"
39+
},
40+
{
41+
"indexed": false,
42+
"internalType": "uint256",
43+
"name": "fee",
44+
"type": "uint256"
45+
}
46+
],
47+
"name": "PairCreated",
48+
"type": "event"
49+
},
50+
{
51+
"anonymous": false,
52+
"inputs": [
53+
{
54+
"indexed": false,
55+
"internalType": "uint256",
56+
"name": "_protocolFeeDynamic",
57+
"type": "uint256"
58+
}
59+
],
60+
"name": "ProtocolFeeDynamicChange",
61+
"type": "event"
62+
},
63+
{
64+
"anonymous": false,
65+
"inputs": [
66+
{
67+
"indexed": false,
68+
"internalType": "uint256",
69+
"name": "_protocolFeeFixed",
70+
"type": "uint256"
71+
}
72+
],
73+
"name": "ProtocolFeeFixedChange",
74+
"type": "event"
75+
},
76+
{
77+
"anonymous": false,
78+
"inputs": [
79+
{
80+
"indexed": false,
81+
"internalType": "address",
82+
"name": "_feeTo",
83+
"type": "address"
84+
}
85+
],
86+
"name": "ProtocolFeeToChange",
87+
"type": "event"
88+
},
89+
{
90+
"inputs": [
91+
{
92+
"internalType": "uint256",
93+
"name": "",
94+
"type": "uint256"
95+
}
96+
],
97+
"name": "allPairs",
98+
"outputs": [
99+
{
100+
"internalType": "address",
101+
"name": "",
102+
"type": "address"
103+
}
104+
],
105+
"stateMutability": "view",
106+
"type": "function"
107+
},
108+
{
109+
"inputs": [],
110+
"name": "allPairsLength",
111+
"outputs": [
112+
{
113+
"internalType": "uint256",
114+
"name": "",
115+
"type": "uint256"
116+
}
117+
],
118+
"stateMutability": "view",
119+
"type": "function"
120+
},
121+
{
122+
"inputs": [
123+
{
124+
"internalType": "address",
125+
"name": "tokenA",
126+
"type": "address"
127+
},
128+
{
129+
"internalType": "address",
130+
"name": "tokenB",
131+
"type": "address"
132+
},
133+
{
134+
"internalType": "uint256",
135+
"name": "feeType",
136+
"type": "uint256"
137+
},
138+
{
139+
"internalType": "bool",
140+
"name": "stable",
141+
"type": "bool"
142+
}
143+
],
144+
"name": "createPair",
145+
"outputs": [
146+
{
147+
"internalType": "address",
148+
"name": "pair",
149+
"type": "address"
150+
}
151+
],
152+
"stateMutability": "nonpayable",
153+
"type": "function"
154+
},
155+
{
156+
"inputs": [],
157+
"name": "feeTo",
158+
"outputs": [
159+
{
160+
"internalType": "address",
161+
"name": "",
162+
"type": "address"
163+
}
164+
],
165+
"stateMutability": "view",
166+
"type": "function"
167+
},
168+
{
169+
"inputs": [
170+
{
171+
"internalType": "address",
172+
"name": "",
173+
"type": "address"
174+
},
175+
{
176+
"internalType": "address",
177+
"name": "",
178+
"type": "address"
179+
},
180+
{
181+
"internalType": "bool",
182+
"name": "",
183+
"type": "bool"
184+
}
185+
],
186+
"name": "getPair",
187+
"outputs": [
188+
{
189+
"internalType": "address",
190+
"name": "",
191+
"type": "address"
192+
}
193+
],
194+
"stateMutability": "view",
195+
"type": "function"
196+
},
197+
{
198+
"inputs": [],
199+
"name": "protocolFeeDynamic",
200+
"outputs": [
201+
{
202+
"internalType": "uint256",
203+
"name": "",
204+
"type": "uint256"
205+
}
206+
],
207+
"stateMutability": "view",
208+
"type": "function"
209+
},
210+
{
211+
"inputs": [],
212+
"name": "protocolFeeFixed",
213+
"outputs": [
214+
{
215+
"internalType": "uint256",
216+
"name": "",
217+
"type": "uint256"
218+
}
219+
],
220+
"stateMutability": "view",
221+
"type": "function"
222+
},
223+
{
224+
"inputs": [
225+
{
226+
"internalType": "address",
227+
"name": "_feeTo",
228+
"type": "address"
229+
}
230+
],
231+
"name": "setFeeTo",
232+
"outputs": [],
233+
"stateMutability": "nonpayable",
234+
"type": "function"
235+
},
236+
{
237+
"inputs": [
238+
{
239+
"internalType": "uint256",
240+
"name": "_protocolFeeDynamic",
241+
"type": "uint256"
242+
}
243+
],
244+
"name": "setProtocolFeeDynamic",
245+
"outputs": [],
246+
"stateMutability": "nonpayable",
247+
"type": "function"
248+
},
249+
{
250+
"inputs": [
251+
{
252+
"internalType": "uint256",
253+
"name": "_protocolFeeFixed",
254+
"type": "uint256"
255+
}
256+
],
257+
"name": "setProtocolFeeFixed",
258+
"outputs": [],
259+
"stateMutability": "nonpayable",
260+
"type": "function"
261+
}
262+
]

0 commit comments

Comments
 (0)