-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathlists.js
More file actions
62 lines (52 loc) · 1.57 KB
/
lists.js
File metadata and controls
62 lines (52 loc) · 1.57 KB
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
export const currencylist = {
dollarlist: ['DOLAR', 'DOLLAR', 'USD'],
goldlist: ['ALTIN', 'ALTİN', 'GOLD', 'XAU'],
silverlist: ['GÜMÜŞ', 'GUMUS', 'SILVER', 'XAG']
}
export let binancelist = []
export let binancetrlist = []
const digitsFromTickSize = (tickSize) => {
const [, decimals = ''] = tickSize.split('.')
return decimals.replace(/0+$/, '').length
}
const fetchJson = async (url) => {
const res = await fetch(url)
if (!res.ok) throw new Error('Network response was not ok')
return res.json()
}
const refreshLists = async () => {
try {
const binanceData = await fetchJson(
'https://api.binance.com/api/v3/exchangeInfo'
)
binancelist = binanceData.symbols
.filter(s => s.symbol.endsWith('USDT') && s.status === 'TRADING')
.map(s => {
const tickSize = s.filters[0].tickSize ?? '1'
const digits = digitsFromTickSize(tickSize)
return {
name: s.baseAsset,
digits
}
})
.sort((a, b) => a.name.localeCompare(b.name))
const binanceTrData = await fetchJson(
'https://www.binance.tr/open/v1/common/symbols'
)
binancetrlist = binanceTrData.data.list
.filter(s => s.symbol.endsWith('TRY'))
.map(s => {
const tickSize = s.filters[0].tickSize ?? '1'
const digits = digitsFromTickSize(tickSize)
return {
name: s.baseAsset,
digits
}
})
.sort((a, b) => a.name.localeCompare(b.name))
} catch (e) {
console.error('Fetch list error:', e)
}
}
await refreshLists()
setInterval(refreshLists, 60000)