-
Notifications
You must be signed in to change notification settings - Fork 127
/
ScraperInterface.go
107 lines (99 loc) · 3.86 KB
/
ScraperInterface.go
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package liquidityscrapers
import (
"github.com/diadata-org/diadata/pkg/dia"
scrapers "github.com/diadata-org/diadata/pkg/dia/scraper/exchange-scrapers"
"github.com/sirupsen/logrus"
)
type LiquidityScraper interface {
Pool() chan dia.Pool
Done() chan bool
}
var (
log *logrus.Logger
exchanges map[string]dia.Exchange
)
func init() {
log = logrus.New()
exchanges = scrapers.Exchanges
}
// NewLiquidityScraper returns a liquidity scraper for @source.
func NewLiquidityScraper(source string) LiquidityScraper {
switch source {
case dia.UniswapExchange:
return NewUniswapScraper(exchanges[dia.UniswapExchange])
case dia.SushiSwapExchange:
return NewUniswapScraper(exchanges[dia.SushiSwapExchange])
case dia.PanCakeSwap:
return NewUniswapScraper(exchanges[dia.PanCakeSwap])
case dia.DfynNetwork:
return NewUniswapScraper(exchanges[dia.DfynNetwork])
case dia.QuickswapExchange:
return NewUniswapScraper(exchanges[dia.QuickswapExchange])
case dia.UbeswapExchange:
return NewUniswapScraper(exchanges[dia.UbeswapExchange])
case dia.SpookyswapExchange:
return NewUniswapScraper(exchanges[dia.SpookyswapExchange])
case dia.SpiritswapExchange:
return NewUniswapScraper(exchanges[dia.SpiritswapExchange])
case dia.SolarbeamExchange:
return NewUniswapScraper(exchanges[dia.SolarbeamExchange])
case dia.TrisolarisExchange:
return NewUniswapScraper(exchanges[dia.TrisolarisExchange])
case dia.NetswapExchange:
return NewUniswapScraper(exchanges[dia.NetswapExchange])
case dia.SushiSwapExchangePolygon:
return NewUniswapScraper(exchanges[dia.SushiSwapExchangePolygon])
case dia.SushiSwapExchangeFantom:
return NewUniswapScraper(exchanges[dia.SushiSwapExchangeFantom])
case dia.HuckleberryExchange:
return NewUniswapScraper(exchanges[dia.HuckleberryExchange])
case dia.TraderJoeExchange:
return NewUniswapScraper(exchanges[dia.TraderJoeExchange])
case dia.PangolinExchange:
return NewUniswapScraper(exchanges[dia.PangolinExchange])
case dia.TethysExchange:
return NewUniswapScraper(exchanges[dia.TethysExchange])
case dia.HermesExchange:
return NewUniswapScraper(exchanges[dia.HermesExchange])
case dia.OmniDexExchange:
return NewUniswapScraper(exchanges[dia.OmniDexExchange])
case dia.DiffusionExchange:
return NewUniswapScraper(exchanges[dia.DiffusionExchange])
case dia.ApeswapExchange:
return NewUniswapScraper(exchanges[dia.ApeswapExchange])
case dia.BiswapExchange:
return NewUniswapScraper(exchanges[dia.BiswapExchange])
case dia.ArthswapExchange:
return NewUniswapScraper(exchanges[dia.ArthswapExchange])
case dia.CurveFIExchange:
return NewCurveFIScraper(exchanges[dia.CurveFIExchange])
case dia.CurveFIExchangePolygon:
return NewCurveFIScraper(exchanges[dia.CurveFIExchangePolygon])
case dia.CurveFIExchangeFantom:
return NewCurveFIScraper(exchanges[dia.CurveFIExchangeFantom])
case dia.CurveFIExchangeMoonbeam:
return NewCurveFIScraper(exchanges[dia.CurveFIExchangeMoonbeam])
case dia.BalancerV2Exchange:
return NewBalancerV2Scraper(exchanges[dia.BalancerV2Exchange])
case dia.PlatypusExchange:
return NewPlatypusScraper(exchanges[dia.PlatypusExchange])
case dia.BalancerV2ExchangePolygon:
return NewBalancerV2Scraper(exchanges[dia.BalancerV2ExchangePolygon])
case dia.BeetsExchange:
return NewBalancerV2Scraper(exchanges[dia.BeetsExchange])
case dia.UniswapExchangeV3:
return NewUniswapV3Scraper(exchanges[dia.UniswapExchangeV3])
case dia.UniswapExchangeV3Polygon:
return NewUniswapV3Scraper(exchanges[dia.UniswapExchangeV3Polygon])
case dia.StellaswapExchange:
return NewUniswapScraper(exchanges[dia.StellaswapExchange])
case dia.WanswapExchange:
return NewUniswapScraper(exchanges[dia.WanswapExchange])
case dia.UniswapExchangeV3Arbitrum:
return NewUniswapV3Scraper(exchanges[dia.UniswapExchangeV3Arbitrum])
case dia.BancorExchange:
return NewBancorPoolScraper(exchanges[dia.BancorExchange])
default:
return nil
}
}