feat(ftx): use go generate to build symbol map

This commit is contained in:
Jui-Nan Lin 2021-05-26 20:53:51 +08:00
parent f5cd84bc65
commit 72e7915d8d
3 changed files with 765 additions and 2 deletions

View File

@ -22,7 +22,8 @@ const (
) )
var logger = logrus.WithField("exchange", "ftx") var logger = logrus.WithField("exchange", "ftx")
var symbolMap map[string]string
//go:generate go run generate_symbol_map.go
type Exchange struct { type Exchange struct {
key, secret string key, secret string
@ -61,7 +62,7 @@ func NewExchange(key, secret string, subAccount string) *Exchange {
if err != nil { if err != nil {
panic(err) panic(err)
} }
symbolMap = make(map[string]string)
return &Exchange{ return &Exchange{
restEndpoint: u, restEndpoint: u,
key: key, key: key,

View File

@ -0,0 +1,64 @@
// +build ignore
package main
import (
"encoding/json"
"log"
"net/http"
"os"
"strings"
"text/template"
)
var packageTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT.
package ftx
var symbolMap = map[string]string{
{{- range $k, $v := . }}
{{ printf "%q" $k }}: {{ printf "%q" $v }},
{{- end }}
}
`))
type Market struct {
Name string `json:"name"`
}
type ApiResponse struct {
Success bool `json:"success"`
Result []Market `json:"result"`
}
func main() {
var data = map[string]string{}
const url = "https://ftx.com/api/markets"
resp, err := http.Get(url)
if err != nil {
log.Fatal(err)
return
}
defer resp.Body.Close()
r := &ApiResponse{}
json.NewDecoder(resp.Body).Decode(r)
for _, m := range r.Result {
key := strings.ReplaceAll(strings.ToUpper(strings.TrimSpace(m.Name)), "/", "")
data[key] = m.Name
}
f, err := os.Create("symbols.go")
if err != nil {
log.Fatal(err)
}
defer f.Close()
err = packageTemplate.Execute(f, data)
if err != nil {
log.Fatal(err)
}
}

698
pkg/exchange/ftx/symbols.go Normal file
View File

@ -0,0 +1,698 @@
// Code generated by go generate; DO NOT EDIT.
package ftx
var symbolMap = map[string]string{
"1INCH-0625": "1INCH-0625",
"1INCH-PERP": "1INCH-PERP",
"1INCHUSD": "1INCH/USD",
"AAPL-0625": "AAPL-0625",
"AAPLUSD": "AAPL/USD",
"AAVE-0625": "AAVE-0625",
"AAVE-PERP": "AAVE-PERP",
"AAVEUSD": "AAVE/USD",
"AAVEUSDT": "AAVE/USDT",
"ABNB-0625": "ABNB-0625",
"ABNBUSD": "ABNB/USD",
"ACB-0625": "ACB-0625",
"ACBUSD": "ACB/USD",
"ADA-0625": "ADA-0625",
"ADA-PERP": "ADA-PERP",
"ADABEARUSD": "ADABEAR/USD",
"ADABULLUSD": "ADABULL/USD",
"ADAHALFUSD": "ADAHALF/USD",
"ADAHEDGEUSD": "ADAHEDGE/USD",
"AKROUSD": "AKRO/USD",
"AKROUSDT": "AKRO/USDT",
"ALCX-PERP": "ALCX-PERP",
"ALCXUSD": "ALCX/USD",
"ALGO-0625": "ALGO-0625",
"ALGO-PERP": "ALGO-PERP",
"ALGOBEARUSD": "ALGOBEAR/USD",
"ALGOBULLUSD": "ALGOBULL/USD",
"ALGOHALFUSD": "ALGOHALF/USD",
"ALGOHEDGEUSD": "ALGOHEDGE/USD",
"ALPHA-PERP": "ALPHA-PERP",
"ALPHAUSD": "ALPHA/USD",
"ALT-0625": "ALT-0625",
"ALT-PERP": "ALT-PERP",
"ALTBEARUSD": "ALTBEAR/USD",
"ALTBULLUSD": "ALTBULL/USD",
"ALTHALFUSD": "ALTHALF/USD",
"ALTHEDGEUSD": "ALTHEDGE/USD",
"AMC-0625": "AMC-0625",
"AMCUSD": "AMC/USD",
"AMD-0625": "AMD-0625",
"AMDUSD": "AMD/USD",
"AMPL-PERP": "AMPL-PERP",
"AMPLUSD": "AMPL/USD",
"AMPLUSDT": "AMPL/USDT",
"AMZN-0625": "AMZN-0625",
"AMZNUSD": "AMZN/USD",
"APHA-0625": "APHA-0625",
"APHAUSD": "APHA/USD",
"AR-PERP": "AR-PERP",
"ARKK-0625": "ARKK-0625",
"ARKKUSD": "ARKK/USD",
"ASD-0625": "ASD-0625",
"ASD-PERP": "ASD-PERP",
"ASDBEARUSD": "ASDBEAR/USD",
"ASDBEARUSDT": "ASDBEAR/USDT",
"ASDBULLUSD": "ASDBULL/USD",
"ASDBULLUSDT": "ASDBULL/USDT",
"ASDHALFUSD": "ASDHALF/USD",
"ASDHEDGEUSD": "ASDHEDGE/USD",
"ASDUSD": "ASD/USD",
"ATOM-0625": "ATOM-0625",
"ATOM-PERP": "ATOM-PERP",
"ATOMBEARUSD": "ATOMBEAR/USD",
"ATOMBULLUSD": "ATOMBULL/USD",
"ATOMHALFUSD": "ATOMHALF/USD",
"ATOMHEDGEUSD": "ATOMHEDGE/USD",
"AUDIO-PERP": "AUDIO-PERP",
"AUDIOUSD": "AUDIO/USD",
"AUDIOUSDT": "AUDIO/USDT",
"AUDUSD": "AUD/USD",
"AVAX-0625": "AVAX-0625",
"AVAX-PERP": "AVAX-PERP",
"AXS-PERP": "AXS-PERP",
"AXSUSD": "AXS/USD",
"BABA-0625": "BABA-0625",
"BABAUSD": "BABA/USD",
"BADGER-PERP": "BADGER-PERP",
"BADGERUSD": "BADGER/USD",
"BAL-0625": "BAL-0625",
"BAL-PERP": "BAL-PERP",
"BALBEARUSD": "BALBEAR/USD",
"BALBEARUSDT": "BALBEAR/USDT",
"BALBULLUSD": "BALBULL/USD",
"BALBULLUSDT": "BALBULL/USDT",
"BALHALFUSD": "BALHALF/USD",
"BALHEDGEUSD": "BALHEDGE/USD",
"BALUSD": "BAL/USD",
"BALUSDT": "BAL/USDT",
"BAND-PERP": "BAND-PERP",
"BANDUSD": "BAND/USD",
"BAO-PERP": "BAO-PERP",
"BAOUSD": "BAO/USD",
"BAT-PERP": "BAT-PERP",
"BATUSD": "BAT/USD",
"BB-0625": "BB-0625",
"BBUSD": "BB/USD",
"BCH-0625": "BCH-0625",
"BCH-PERP": "BCH-PERP",
"BCHBEARUSD": "BCHBEAR/USD",
"BCHBEARUSDT": "BCHBEAR/USDT",
"BCHBTC": "BCH/BTC",
"BCHBULLUSD": "BCHBULL/USD",
"BCHBULLUSDT": "BCHBULL/USDT",
"BCHHALFUSD": "BCHHALF/USD",
"BCHHEDGEUSD": "BCHHEDGE/USD",
"BCHUSD": "BCH/USD",
"BCHUSDT": "BCH/USDT",
"BEARSHITUSD": "BEARSHIT/USD",
"BEARUSD": "BEAR/USD",
"BEARUSDT": "BEAR/USDT",
"BILI-0625": "BILI-0625",
"BILIUSD": "BILI/USD",
"BITW-0625": "BITW-0625",
"BITWUSD": "BITW/USD",
"BNB-0625": "BNB-0625",
"BNB-PERP": "BNB-PERP",
"BNBBEARUSD": "BNBBEAR/USD",
"BNBBEARUSDT": "BNBBEAR/USDT",
"BNBBTC": "BNB/BTC",
"BNBBULLUSD": "BNBBULL/USD",
"BNBBULLUSDT": "BNBBULL/USDT",
"BNBHALFUSD": "BNBHALF/USD",
"BNBHEDGEUSD": "BNBHEDGE/USD",
"BNBUSD": "BNB/USD",
"BNBUSDT": "BNB/USDT",
"BNT-PERP": "BNT-PERP",
"BNTUSD": "BNT/USD",
"BNTX-0625": "BNTX-0625",
"BNTXUSD": "BNTX/USD",
"BOLSONARO2022": "BOLSONARO2022",
"BRZ-0625": "BRZ-0625",
"BRZ-PERP": "BRZ-PERP",
"BRZUSD": "BRZ/USD",
"BRZUSDT": "BRZ/USDT",
"BSV-0625": "BSV-0625",
"BSV-PERP": "BSV-PERP",
"BSVBEARUSD": "BSVBEAR/USD",
"BSVBEARUSDT": "BSVBEAR/USDT",
"BSVBULLUSD": "BSVBULL/USD",
"BSVBULLUSDT": "BSVBULL/USDT",
"BSVHALFUSD": "BSVHALF/USD",
"BSVHEDGEUSD": "BSVHEDGE/USD",
"BTC-0625": "BTC-0625",
"BTC-0924": "BTC-0924",
"BTC-1231": "BTC-1231",
"BTC-MOVE-0526": "BTC-MOVE-0526",
"BTC-MOVE-0527": "BTC-MOVE-0527",
"BTC-MOVE-2021Q2": "BTC-MOVE-2021Q2",
"BTC-MOVE-2021Q3": "BTC-MOVE-2021Q3",
"BTC-MOVE-2021Q4": "BTC-MOVE-2021Q4",
"BTC-MOVE-WK-0528": "BTC-MOVE-WK-0528",
"BTC-MOVE-WK-0604": "BTC-MOVE-WK-0604",
"BTC-MOVE-WK-0611": "BTC-MOVE-WK-0611",
"BTC-MOVE-WK-0618": "BTC-MOVE-WK-0618",
"BTC-PERP": "BTC-PERP",
"BTCAUD": "BTC/AUD",
"BTCBRZ": "BTC/BRZ",
"BTCEUR": "BTC/EUR",
"BTCTRYB": "BTC/TRYB",
"BTCUSD": "BTC/USD",
"BTCUSDT": "BTC/USDT",
"BTT-PERP": "BTT-PERP",
"BULLSHITUSD": "BULLSHIT/USD",
"BULLUSD": "BULL/USD",
"BULLUSDT": "BULL/USDT",
"BVOLBTC": "BVOL/BTC",
"BVOLUSD": "BVOL/USD",
"BVOLUSDT": "BVOL/USDT",
"BYND-0625": "BYND-0625",
"BYNDUSD": "BYND/USD",
"CADUSD": "CAD/USD",
"CAKE-PERP": "CAKE-PERP",
"CEL-0625": "CEL-0625",
"CELUSD": "CEL/USD",
"CGC-0625": "CGC-0625",
"CGCUSD": "CGC/USD",
"CHZ-0625": "CHZ-0625",
"CHZ-PERP": "CHZ-PERP",
"CHZUSD": "CHZ/USD",
"CHZUSDT": "CHZ/USDT",
"COINUSD": "COIN/USD",
"COMP-0625": "COMP-0625",
"COMP-PERP": "COMP-PERP",
"COMPBEARUSD": "COMPBEAR/USD",
"COMPBEARUSDT": "COMPBEAR/USDT",
"COMPBULLUSD": "COMPBULL/USD",
"COMPBULLUSDT": "COMPBULL/USDT",
"COMPHALFUSD": "COMPHALF/USD",
"COMPHEDGEUSD": "COMPHEDGE/USD",
"COMPUSD": "COMP/USD",
"COMPUSDT": "COMP/USDT",
"CONV-PERP": "CONV-PERP",
"CONVUSD": "CONV/USD",
"COPEUSD": "COPE/USD",
"CREAM-0625": "CREAM-0625",
"CREAM-PERP": "CREAM-PERP",
"CREAMUSD": "CREAM/USD",
"CREAMUSDT": "CREAM/USDT",
"CRO-PERP": "CRO-PERP",
"CRON-0625": "CRON-0625",
"CRONUSD": "CRON/USD",
"CROUSD": "CRO/USD",
"CRV-PERP": "CRV-PERP",
"CRVUSD": "CRV/USD",
"CUSDT-PERP": "CUSDT-PERP",
"CUSDTBEARUSD": "CUSDTBEAR/USD",
"CUSDTBEARUSDT": "CUSDTBEAR/USDT",
"CUSDTBULLUSD": "CUSDTBULL/USD",
"CUSDTBULLUSDT": "CUSDTBULL/USDT",
"CUSDTHALFUSD": "CUSDTHALF/USD",
"CUSDTHEDGEUSD": "CUSDTHEDGE/USD",
"CUSDTUSD": "CUSDT/USD",
"CUSDTUSDT": "CUSDT/USDT",
"DAIUSD": "DAI/USD",
"DAIUSDT": "DAI/USDT",
"DASH-PERP": "DASH-PERP",
"DAWN-PERP": "DAWN-PERP",
"DAWNUSD": "DAWN/USD",
"DEFI-0625": "DEFI-0625",
"DEFI-PERP": "DEFI-PERP",
"DEFIBEARUSD": "DEFIBEAR/USD",
"DEFIBEARUSDT": "DEFIBEAR/USDT",
"DEFIBULLUSD": "DEFIBULL/USD",
"DEFIBULLUSDT": "DEFIBULL/USDT",
"DEFIHALFUSD": "DEFIHALF/USD",
"DEFIHEDGEUSD": "DEFIHEDGE/USD",
"DENT-PERP": "DENT-PERP",
"DENTUSD": "DENT/USD",
"DMG-PERP": "DMG-PERP",
"DMGUSD": "DMG/USD",
"DMGUSDT": "DMG/USDT",
"DODO-PERP": "DODO-PERP",
"DODOUSD": "DODO/USD",
"DOGE-0625": "DOGE-0625",
"DOGE-PERP": "DOGE-PERP",
"DOGEBEAR2021USD": "DOGEBEAR2021/USD",
"DOGEBTC": "DOGE/BTC",
"DOGEBULLUSD": "DOGEBULL/USD",
"DOGEHALFUSD": "DOGEHALF/USD",
"DOGEHEDGEUSD": "DOGEHEDGE/USD",
"DOGEUSD": "DOGE/USD",
"DOGEUSDT": "DOGE/USDT",
"DOT-0625": "DOT-0625",
"DOT-PERP": "DOT-PERP",
"DRGN-0625": "DRGN-0625",
"DRGN-PERP": "DRGN-PERP",
"DRGNBEARUSD": "DRGNBEAR/USD",
"DRGNBULLUSD": "DRGNBULL/USD",
"DRGNHALFUSD": "DRGNHALF/USD",
"DRGNHEDGEUSD": "DRGNHEDGE/USD",
"EGLD-PERP": "EGLD-PERP",
"EMBUSD": "EMB/USD",
"ENJ-PERP": "ENJ-PERP",
"ENJUSD": "ENJ/USD",
"EOS-0625": "EOS-0625",
"EOS-PERP": "EOS-PERP",
"EOSBEARUSD": "EOSBEAR/USD",
"EOSBEARUSDT": "EOSBEAR/USDT",
"EOSBULLUSD": "EOSBULL/USD",
"EOSBULLUSDT": "EOSBULL/USDT",
"EOSHALFUSD": "EOSHALF/USD",
"EOSHEDGEUSD": "EOSHEDGE/USD",
"ETC-PERP": "ETC-PERP",
"ETCBEARUSD": "ETCBEAR/USD",
"ETCBULLUSD": "ETCBULL/USD",
"ETCHALFUSD": "ETCHALF/USD",
"ETCHEDGEUSD": "ETCHEDGE/USD",
"ETH-0625": "ETH-0625",
"ETH-0924": "ETH-0924",
"ETH-1231": "ETH-1231",
"ETH-PERP": "ETH-PERP",
"ETHAUD": "ETH/AUD",
"ETHBEARUSD": "ETHBEAR/USD",
"ETHBEARUSDT": "ETHBEAR/USDT",
"ETHBRZ": "ETH/BRZ",
"ETHBTC": "ETH/BTC",
"ETHBULLUSD": "ETHBULL/USD",
"ETHBULLUSDT": "ETHBULL/USDT",
"ETHE-0625": "ETHE-0625",
"ETHEUR": "ETH/EUR",
"ETHEUSD": "ETHE/USD",
"ETHHALFUSD": "ETHHALF/USD",
"ETHHEDGEUSD": "ETHHEDGE/USD",
"ETHUSD": "ETH/USD",
"ETHUSDT": "ETH/USDT",
"EURUSD": "EUR/USD",
"EXCH-0625": "EXCH-0625",
"EXCH-PERP": "EXCH-PERP",
"EXCHBEARUSD": "EXCHBEAR/USD",
"EXCHBULLUSD": "EXCHBULL/USD",
"EXCHHALFUSD": "EXCHHALF/USD",
"EXCHHEDGEUSD": "EXCHHEDGE/USD",
"FB-0625": "FB-0625",
"FBUSD": "FB/USD",
"FIDA-PERP": "FIDA-PERP",
"FIDAUSD": "FIDA/USD",
"FIDAUSDT": "FIDA/USDT",
"FIL-0625": "FIL-0625",
"FIL-PERP": "FIL-PERP",
"FLM-PERP": "FLM-PERP",
"FLOW-PERP": "FLOW-PERP",
"FRONTUSD": "FRONT/USD",
"FRONTUSDT": "FRONT/USDT",
"FTM-PERP": "FTM-PERP",
"FTMUSD": "FTM/USD",
"FTT-PERP": "FTT-PERP",
"FTTBTC": "FTT/BTC",
"FTTUSD": "FTT/USD",
"FTTUSDT": "FTT/USDT",
"GBPUSD": "GBP/USD",
"GBTC-0625": "GBTC-0625",
"GBTCUSD": "GBTC/USD",
"GDX-0625": "GDX-0625",
"GDXJ-0625": "GDXJ-0625",
"GDXJUSD": "GDXJ/USD",
"GDXUSD": "GDX/USD",
"GLD-0625": "GLD-0625",
"GLDUSD": "GLD/USD",
"GLXYUSD": "GLXY/USD",
"GME-0625": "GME-0625",
"GMEUSD": "GME/USD",
"GOOGL-0625": "GOOGL-0625",
"GOOGLUSD": "GOOGL/USD",
"GRT-0625": "GRT-0625",
"GRT-PERP": "GRT-PERP",
"GRTBEARUSD": "GRTBEAR/USD",
"GRTBULLUSD": "GRTBULL/USD",
"GRTUSD": "GRT/USD",
"GTUSD": "GT/USD",
"HALFSHITUSD": "HALFSHIT/USD",
"HALFUSD": "HALF/USD",
"HBAR-PERP": "HBAR-PERP",
"HEDGESHITUSD": "HEDGESHIT/USD",
"HEDGEUSD": "HEDGE/USD",
"HGETUSD": "HGET/USD",
"HGETUSDT": "HGET/USDT",
"HNT-PERP": "HNT-PERP",
"HNTUSD": "HNT/USD",
"HNTUSDT": "HNT/USDT",
"HOLY-PERP": "HOLY-PERP",
"HOLYUSD": "HOLY/USD",
"HOODUSD": "HOOD/USD",
"HOT-PERP": "HOT-PERP",
"HT-PERP": "HT-PERP",
"HTBEARUSD": "HTBEAR/USD",
"HTBULLUSD": "HTBULL/USD",
"HTHALFUSD": "HTHALF/USD",
"HTHEDGEUSD": "HTHEDGE/USD",
"HTUSD": "HT/USD",
"HUM-PERP": "HUM-PERP",
"HUMUSD": "HUM/USD",
"HXROUSD": "HXRO/USD",
"HXROUSDT": "HXRO/USDT",
"IBVOLBTC": "IBVOL/BTC",
"IBVOLUSD": "IBVOL/USD",
"IBVOLUSDT": "IBVOL/USDT",
"ICP-PERP": "ICP-PERP",
"IOTA-PERP": "IOTA-PERP",
"JSTUSD": "JST/USD",
"KAVA-PERP": "KAVA-PERP",
"KIN-PERP": "KIN-PERP",
"KINUSD": "KIN/USD",
"KNC-PERP": "KNC-PERP",
"KNCBEARUSD": "KNCBEAR/USD",
"KNCBEARUSDT": "KNCBEAR/USDT",
"KNCBULLUSD": "KNCBULL/USD",
"KNCBULLUSDT": "KNCBULL/USDT",
"KNCHALFUSD": "KNCHALF/USD",
"KNCHEDGEUSD": "KNCHEDGE/USD",
"KNCUSD": "KNC/USD",
"KNCUSDT": "KNC/USDT",
"KSM-PERP": "KSM-PERP",
"LB-0812": "LB-0812",
"LEO-PERP": "LEO-PERP",
"LEOBEARUSD": "LEOBEAR/USD",
"LEOBULLUSD": "LEOBULL/USD",
"LEOHALFUSD": "LEOHALF/USD",
"LEOHEDGEUSD": "LEOHEDGE/USD",
"LEOUSD": "LEO/USD",
"LINA-PERP": "LINA-PERP",
"LINAUSD": "LINA/USD",
"LINK-0625": "LINK-0625",
"LINK-PERP": "LINK-PERP",
"LINKBEARUSD": "LINKBEAR/USD",
"LINKBEARUSDT": "LINKBEAR/USDT",
"LINKBTC": "LINK/BTC",
"LINKBULLUSD": "LINKBULL/USD",
"LINKBULLUSDT": "LINKBULL/USDT",
"LINKHALFUSD": "LINKHALF/USD",
"LINKHEDGEUSD": "LINKHEDGE/USD",
"LINKUSD": "LINK/USD",
"LINKUSDT": "LINK/USDT",
"LRC-PERP": "LRC-PERP",
"LRCUSD": "LRC/USD",
"LTC-0625": "LTC-0625",
"LTC-PERP": "LTC-PERP",
"LTCBEARUSD": "LTCBEAR/USD",
"LTCBEARUSDT": "LTCBEAR/USDT",
"LTCBTC": "LTC/BTC",
"LTCBULLUSD": "LTCBULL/USD",
"LTCBULLUSDT": "LTCBULL/USDT",
"LTCHALFUSD": "LTCHALF/USD",
"LTCHEDGEUSD": "LTCHEDGE/USD",
"LTCUSD": "LTC/USD",
"LTCUSDT": "LTC/USDT",
"LUAUSD": "LUA/USD",
"LUAUSDT": "LUA/USDT",
"LUNA-PERP": "LUNA-PERP",
"MAPS-PERP": "MAPS-PERP",
"MAPSUSD": "MAPS/USD",
"MAPSUSDT": "MAPS/USDT",
"MATHUSD": "MATH/USD",
"MATHUSDT": "MATH/USDT",
"MATIC-PERP": "MATIC-PERP",
"MATICBEAR2021USD": "MATICBEAR2021/USD",
"MATICBULLUSD": "MATICBULL/USD",
"MATICHALFUSD": "MATICHALF/USD",
"MATICHEDGEUSD": "MATICHEDGE/USD",
"MATICUSD": "MATIC/USD",
"MEDIA-PERP": "MEDIA-PERP",
"MEDIAUSD": "MEDIA/USD",
"MER-PERP": "MER-PERP",
"MERUSD": "MER/USD",
"MID-0625": "MID-0625",
"MID-PERP": "MID-PERP",
"MIDBEARUSD": "MIDBEAR/USD",
"MIDBULLUSD": "MIDBULL/USD",
"MIDHALFUSD": "MIDHALF/USD",
"MIDHEDGEUSD": "MIDHEDGE/USD",
"MKR-PERP": "MKR-PERP",
"MKRBEARUSD": "MKRBEAR/USD",
"MKRBULLUSD": "MKRBULL/USD",
"MKRUSD": "MKR/USD",
"MKRUSDT": "MKR/USDT",
"MOBUSD": "MOB/USD",
"MOBUSDT": "MOB/USDT",
"MRNA-0625": "MRNA-0625",
"MRNAUSD": "MRNA/USD",
"MSTR-0625": "MSTR-0625",
"MSTRUSD": "MSTR/USD",
"MTA-PERP": "MTA-PERP",
"MTAUSD": "MTA/USD",
"MTAUSDT": "MTA/USDT",
"MTL-PERP": "MTL-PERP",
"MTLUSD": "MTL/USD",
"NEAR-PERP": "NEAR-PERP",
"NEO-PERP": "NEO-PERP",
"NFLX-0625": "NFLX-0625",
"NFLXUSD": "NFLX/USD",
"NIO-0625": "NIO-0625",
"NIOUSD": "NIO/USD",
"NOK-0625": "NOK-0625",
"NOKUSD": "NOK/USD",
"NVDA-0625": "NVDA-0625",
"NVDAUSD": "NVDA/USD",
"OKB-0625": "OKB-0625",
"OKB-PERP": "OKB-PERP",
"OKBBEARUSD": "OKBBEAR/USD",
"OKBBULLUSD": "OKBBULL/USD",
"OKBHALFUSD": "OKBHALF/USD",
"OKBHEDGEUSD": "OKBHEDGE/USD",
"OKBUSD": "OKB/USD",
"OLY2021": "OLY2021",
"OMG-0625": "OMG-0625",
"OMG-PERP": "OMG-PERP",
"OMGUSD": "OMG/USD",
"ONT-PERP": "ONT-PERP",
"ORBS-PERP": "ORBS-PERP",
"ORBSUSD": "ORBS/USD",
"OXY-PERP": "OXY-PERP",
"OXYUSD": "OXY/USD",
"OXYUSDT": "OXY/USDT",
"PAXG-0625": "PAXG-0625",
"PAXG-PERP": "PAXG-PERP",
"PAXGBEARUSD": "PAXGBEAR/USD",
"PAXGBULLUSD": "PAXGBULL/USD",
"PAXGHALFUSD": "PAXGHALF/USD",
"PAXGHEDGEUSD": "PAXGHEDGE/USD",
"PAXGUSD": "PAXG/USD",
"PAXGUSDT": "PAXG/USDT",
"PENN-0625": "PENN-0625",
"PENNUSD": "PENN/USD",
"PERP-PERP": "PERP-PERP",
"PERPUSD": "PERP/USD",
"PFE-0625": "PFE-0625",
"PFEUSD": "PFE/USD",
"PRIV-0625": "PRIV-0625",
"PRIV-PERP": "PRIV-PERP",
"PRIVBEARUSD": "PRIVBEAR/USD",
"PRIVBULLUSD": "PRIVBULL/USD",
"PRIVHALFUSD": "PRIVHALF/USD",
"PRIVHEDGEUSD": "PRIVHEDGE/USD",
"PROM-PERP": "PROM-PERP",
"PROMUSD": "PROM/USD",
"PUNDIX-PERP": "PUNDIX-PERP",
"PUNDIXUSD": "PUNDIX/USD",
"PYPL-0625": "PYPL-0625",
"PYPLUSD": "PYPL/USD",
"QTUM-PERP": "QTUM-PERP",
"RAMP-PERP": "RAMP-PERP",
"RAMPUSD": "RAMP/USD",
"RAY-PERP": "RAY-PERP",
"RAYUSD": "RAY/USD",
"REEF-0625": "REEF-0625",
"REEF-PERP": "REEF-PERP",
"REEFUSD": "REEF/USD",
"REN-PERP": "REN-PERP",
"RENUSD": "REN/USD",
"ROOK-PERP": "ROOK-PERP",
"ROOKUSD": "ROOK/USD",
"ROOKUSDT": "ROOK/USDT",
"RSR-PERP": "RSR-PERP",
"RSRUSD": "RSR/USD",
"RUNE-PERP": "RUNE-PERP",
"RUNEUSD": "RUNE/USD",
"RUNEUSDT": "RUNE/USDT",
"SAND-PERP": "SAND-PERP",
"SANDUSD": "SAND/USD",
"SC-PERP": "SC-PERP",
"SECO-PERP": "SECO-PERP",
"SECOUSD": "SECO/USD",
"SGDUSD": "SGD/USD",
"SHIB-PERP": "SHIB-PERP",
"SHIBUSD": "SHIB/USD",
"SHIT-0625": "SHIT-0625",
"SHIT-PERP": "SHIT-PERP",
"SKL-PERP": "SKL-PERP",
"SKLUSD": "SKL/USD",
"SLV-0625": "SLV-0625",
"SLVUSD": "SLV/USD",
"SNX-PERP": "SNX-PERP",
"SNXUSD": "SNX/USD",
"SOL-0625": "SOL-0625",
"SOL-PERP": "SOL-PERP",
"SOLBTC": "SOL/BTC",
"SOLUSD": "SOL/USD",
"SOLUSDT": "SOL/USDT",
"SPY-0625": "SPY-0625",
"SPYUSD": "SPY/USD",
"SQ-0625": "SQ-0625",
"SQUSD": "SQ/USD",
"SRM-PERP": "SRM-PERP",
"SRMUSD": "SRM/USD",
"SRMUSDT": "SRM/USDT",
"SRN-PERP": "SRN-PERP",
"STEP-PERP": "STEP-PERP",
"STEPUSD": "STEP/USD",
"STMX-PERP": "STMX-PERP",
"STMXUSD": "STMX/USD",
"STORJ-PERP": "STORJ-PERP",
"STORJUSD": "STORJ/USD",
"STX-PERP": "STX-PERP",
"SUNUSD": "SUN/USD",
"SUSHI-0625": "SUSHI-0625",
"SUSHI-PERP": "SUSHI-PERP",
"SUSHIBEARUSD": "SUSHIBEAR/USD",
"SUSHIBTC": "SUSHI/BTC",
"SUSHIBULLUSD": "SUSHIBULL/USD",
"SUSHIUSD": "SUSHI/USD",
"SUSHIUSDT": "SUSHI/USDT",
"SXP-0625": "SXP-0625",
"SXP-PERP": "SXP-PERP",
"SXPBEARUSD": "SXPBEAR/USD",
"SXPBULLUSD": "SXPBULL/USD",
"SXPHALFUSD": "SXPHALF/USD",
"SXPHALFUSDT": "SXPHALF/USDT",
"SXPHEDGEUSD": "SXPHEDGE/USD",
"SXPUSD": "SXP/USD",
"SXPUSDT": "SXP/USDT",
"THETA-0625": "THETA-0625",
"THETA-PERP": "THETA-PERP",
"THETABEARUSD": "THETABEAR/USD",
"THETABULLUSD": "THETABULL/USD",
"THETAHALFUSD": "THETAHALF/USD",
"THETAHEDGEUSD": "THETAHEDGE/USD",
"TLRY-0625": "TLRY-0625",
"TLRYUSD": "TLRY/USD",
"TOMO-PERP": "TOMO-PERP",
"TOMOBEAR2021USD": "TOMOBEAR2021/USD",
"TOMOBULLUSD": "TOMOBULL/USD",
"TOMOHALFUSD": "TOMOHALF/USD",
"TOMOHEDGEUSD": "TOMOHEDGE/USD",
"TOMOUSD": "TOMO/USD",
"TOMOUSDT": "TOMO/USDT",
"TRU-0625": "TRU-0625",
"TRU-PERP": "TRU-PERP",
"TRUMP2024": "TRUMP2024",
"TRUUSD": "TRU/USD",
"TRUUSDT": "TRU/USDT",
"TRX-0625": "TRX-0625",
"TRX-PERP": "TRX-PERP",
"TRXBEARUSD": "TRXBEAR/USD",
"TRXBULLUSD": "TRXBULL/USD",
"TRXHALFUSD": "TRXHALF/USD",
"TRXHEDGEUSD": "TRXHEDGE/USD",
"TRXUSD": "TRX/USD",
"TRXUSDT": "TRX/USDT",
"TRYB-0625": "TRYB-0625",
"TRYB-PERP": "TRYB-PERP",
"TRYBBEARUSD": "TRYBBEAR/USD",
"TRYBBULLUSD": "TRYBBULL/USD",
"TRYBHALFUSD": "TRYBHALF/USD",
"TRYBHEDGEUSD": "TRYBHEDGE/USD",
"TRYBUSD": "TRYB/USD",
"TSLA-0625": "TSLA-0625",
"TSLABTC": "TSLA/BTC",
"TSLADOGE": "TSLA/DOGE",
"TSLAUSD": "TSLA/USD",
"TSM-0625": "TSM-0625",
"TSMUSD": "TSM/USD",
"TWTR-0625": "TWTR-0625",
"TWTRUSD": "TWTR/USD",
"UBER-0625": "UBER-0625",
"UBERUSD": "UBER/USD",
"UBXTUSD": "UBXT/USD",
"UBXTUSDT": "UBXT/USDT",
"UNI-0625": "UNI-0625",
"UNI-PERP": "UNI-PERP",
"UNIBTC": "UNI/BTC",
"UNISWAP-0625": "UNISWAP-0625",
"UNISWAP-PERP": "UNISWAP-PERP",
"UNISWAPBEARUSD": "UNISWAPBEAR/USD",
"UNISWAPBULLUSD": "UNISWAPBULL/USD",
"UNIUSD": "UNI/USD",
"UNIUSDT": "UNI/USDT",
"USDT-0625": "USDT-0625",
"USDT-PERP": "USDT-PERP",
"USDTBEARUSD": "USDTBEAR/USD",
"USDTBULLUSD": "USDTBULL/USD",
"USDTHALFUSD": "USDTHALF/USD",
"USDTHEDGEUSD": "USDTHEDGE/USD",
"USDTUSD": "USDT/USD",
"USO-0625": "USO-0625",
"USOUSD": "USO/USD",
"VET-PERP": "VET-PERP",
"VETBEARUSD": "VETBEAR/USD",
"VETBEARUSDT": "VETBEAR/USDT",
"VETBULLUSD": "VETBULL/USD",
"VETBULLUSDT": "VETBULL/USDT",
"VETHEDGEUSD": "VETHEDGE/USD",
"WAVES-0625": "WAVES-0625",
"WAVES-PERP": "WAVES-PERP",
"WAVESUSD": "WAVES/USD",
"WBTCUSD": "WBTC/USD",
"WRXUSD": "WRX/USD",
"WRXUSDT": "WRX/USDT",
"WSB-0625": "WSB-0625",
"XAUT-0625": "XAUT-0625",
"XAUT-PERP": "XAUT-PERP",
"XAUTBEARUSD": "XAUTBEAR/USD",
"XAUTBULLUSD": "XAUTBULL/USD",
"XAUTHALFUSD": "XAUTHALF/USD",
"XAUTHEDGEUSD": "XAUTHEDGE/USD",
"XAUTUSD": "XAUT/USD",
"XAUTUSDT": "XAUT/USDT",
"XEM-PERP": "XEM-PERP",
"XLM-PERP": "XLM-PERP",
"XLMBEARUSD": "XLMBEAR/USD",
"XLMBULLUSD": "XLMBULL/USD",
"XMR-PERP": "XMR-PERP",
"XRP-0625": "XRP-0625",
"XRP-PERP": "XRP-PERP",
"XRPBEARUSD": "XRPBEAR/USD",
"XRPBEARUSDT": "XRPBEAR/USDT",
"XRPBTC": "XRP/BTC",
"XRPBULLUSD": "XRPBULL/USD",
"XRPBULLUSDT": "XRPBULL/USDT",
"XRPHALFUSD": "XRPHALF/USD",
"XRPHEDGEUSD": "XRPHEDGE/USD",
"XRPUSD": "XRP/USD",
"XRPUSDT": "XRP/USDT",
"XTZ-0625": "XTZ-0625",
"XTZ-PERP": "XTZ-PERP",
"XTZBEARUSD": "XTZBEAR/USD",
"XTZBEARUSDT": "XTZBEAR/USDT",
"XTZBULLUSD": "XTZBULL/USD",
"XTZBULLUSDT": "XTZBULL/USDT",
"XTZHALFUSD": "XTZHALF/USD",
"XTZHEDGEUSD": "XTZHEDGE/USD",
"YFI-0625": "YFI-0625",
"YFI-PERP": "YFI-PERP",
"YFIBTC": "YFI/BTC",
"YFII-PERP": "YFII-PERP",
"YFIIUSD": "YFII/USD",
"YFIUSD": "YFI/USD",
"YFIUSDT": "YFI/USDT",
"ZEC-PERP": "ZEC-PERP",
"ZECBEARUSD": "ZECBEAR/USD",
"ZECBULLUSD": "ZECBULL/USD",
"ZIL-PERP": "ZIL-PERP",
"ZM-0625": "ZM-0625",
"ZMUSD": "ZM/USD",
"ZRX-PERP": "ZRX-PERP",
"ZRXUSD": "ZRX/USD",
}