mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 15:09:42 +00:00
exchanges/futures: Implement open interest (#1417)
* adds open interest to exchanges * ADDS TESTING YEAH * New endpoints, BTSE, RPCS, cached * slight design change, begin gateio You will need to get cached for each exchange that supports it * gateio, huobi, rpc * fix up kraken, cache retrieval * okx, gateio * finalising all implementations and tests * definitely my final ever commit on this * Well, well, well * final v2 * quick fix of bug * test coverage, assert notempty, test helper Added a new testhelper for currency management because its very annoying in a parallel test setting which wastes so much space otherwise * minimises REST requests for Open Interest * types.Number merge misses * Minimises Kraken REST calls * len change, value -> pointer receiver * further fixup * fixes gateio, batch calculates open interest * single gateio, lint const fixes * rejig and more thorough oi for huobi * formatting expansion * minor fix for handling expiring contracts * rm unused Binance strings * add bybit support, fix bybit issues * oopsie doopsie, dont look at my whoopsie * Fix issue, remove feature * move an irrelevant function for the pr * mini bybit upgrades * fixes cli request bug
This commit is contained in:
42
testdata/configtest.json
vendored
42
testdata/configtest.json
vendored
@@ -1707,9 +1707,36 @@
|
||||
},
|
||||
"useGlobalFormat": true,
|
||||
"assetTypes": [
|
||||
"spot"
|
||||
"spot",
|
||||
"coinmarginedfutures",
|
||||
"futures"
|
||||
],
|
||||
"pairs": {
|
||||
"coinmarginedfutures": {
|
||||
"assetEnabled": true,
|
||||
"enabled": "BTC-USD",
|
||||
"available": "BTC-USD,ETH-USD,LINK-USD,DOT-USD,ADA-USD,LTC-USD,XRP-USD,TRX-USD,DOGE-USD",
|
||||
"requestFormat": {
|
||||
"uppercase": true,
|
||||
"delimiter": "-"
|
||||
},
|
||||
"configFormat": {
|
||||
"uppercase": true,
|
||||
"delimiter": "-"
|
||||
}
|
||||
},
|
||||
"futures": {
|
||||
"assetEnabled": true,
|
||||
"enabled": "BTC-230915",
|
||||
"available": "BTC-230915,BTC-230922,BTC-230929,ETH-230915,ETH-230922,ETH-230929,TRX-230915,TRX-230922",
|
||||
"requestFormat": {
|
||||
"uppercase": true
|
||||
},
|
||||
"configFormat": {
|
||||
"uppercase": true,
|
||||
"delimiter": "-"
|
||||
}
|
||||
},
|
||||
"spot": {
|
||||
"enabled": "BTC-USDT",
|
||||
"available": "PROPY-ETH,IOTA-BTC,UGAS-ETH,PAI-USDT,BSV-HUSD,MTX-ETH,BCH-BTC,LTC-HT,SOC-USDT,WXT-BTC,SALT-BTC,RCN-ETH,PNT-ETH,TT-USDT,AIDOC-ETH,BIX-BTC,OCN-USDT,QTUM-ETH,KCASH-ETH,SNT-USDT,LUN-BTC,QASH-BTC,ITC-BTC,NAS-BTC,XMR-BTC,TNT-ETH,UC-ETH,FAIR-BTC,PC-ETH,YEE-BTC,PAY-ETH,XMX-BTC,CRE-USDT,BAT-ETH,BHT-USDT,CKB-HT,LAMB-HT,AE-USDT,QUN-ETH,LYM-BTC,BCH-HT,BHT-BTC,RUFF-ETH,CNN-BTC,FOR-USDT,GTC-ETH,TRX-ETH,ELA-USDT,ACT-ETH,SMT-ETH,BUT-ETH,BCH-USDT,ICX-BTC,MEET-BTC,NCC-BTC,APPC-BTC,GVE-ETH,TNB-BTC,STEEM-ETH,18C-ETH,LBA-BTC,EKO-BTC,REQ-BTC,SOC-BTC,BOX-ETH,ELF-BTC,ZRX-ETH,LET-USDT,HT-BTC,TUSD-HUSD,EGCC-BTC,WTC-BTC,ATP-USDT,DOCK-USDT,PAI-BTC,ONT-ETH,IRIS-BTC,BTT-ETH,SC-BTC,XZC-BTC,LBA-USDT,HT-USDT,VET-ETH,KMD-ETH,SHE-ETH,PORTAL-BTC,ONE-BTC,BIX-USDT,RCCC-BTC,SKM-USDT,XTZ-ETH,SWFTC-BTC,RSR-BTC,LINK-ETH,DATX-BTC,HPT-HT,GET-ETH,BLZ-ETH,CTXC-USDT,CNNS-USDT,PVT-HT,ITC-USDT,LTC-BTC,NCASH-BTC,HOT-ETH,ADA-USDT,ADX-BTC,NODE-USDT,TRIO-BTC,GXC-ETH,SNT-BTC,FOR-BTC,DBC-BTC,UUU-USDT,CVCOIN-ETH,RSR-USDT,CRO-USDT,OCN-BTC,NEW-USDT,EGT-USDT,MANA-BTC,CMT-USDT,WXT-HT,XRP-BTC,MT-ETH,PAX-HUSD,LSK-ETH,IOTA-USDT,SRN-ETH,ZIL-ETH,ELF-USDT,LXT-ETH,LAMB-BTC,CRE-HT,CKB-BTC,XVG-BTC,BSV-BTC,BFT-BTC,WPR-ETH,HT-HUSD,POWR-BTC,MANA-ETH,ENG-ETH,ZJLT-ETH,SNC-ETH,ATOM-ETH,WICC-USDT,KAN-ETH,DGD-BTC,VSYS-HT,BCD-BTC,BTM-ETH,DOGE-USDT,MEX-BTC,BTG-BTC,DAC-ETH,DAT-BTC,GRS-ETH,ADX-ETH,EM-HT,GXC-USDT,CVC-BTC,OMG-ETH,SSP-ETH,OGO-HT,CMT-ETH,POLY-ETH,XZC-USDT,THETA-USDT,XEM-USDT,LOL-USDT,BCH-HUSD,GSC-BTC,DOGE-ETH,MDS-BTC,BTS-ETH,CTXC-BTC,MCO-BTC,BCX-BTC,ZLA-ETH,EKT-USDT,MAN-BTC,BLZ-BTC,ATOM-USDT,LOL-BTC,HPT-USDT,EM-BTC,EOS-USDT,WAN-BTC,GNT-BTC,CRO-BTC,MANA-USDT,SEELE-USDT,FSN-BTC,VIDY-HT,USDC-HUSD,LTC-HUSD,XRP-USDT,VSYS-BTC,STORJ-BTC,LOOM-ETH,SKM-BTC,LINK-USDT,TT-HT,QSP-ETH,ETN-BTC,FSN-HT,NODE-BTC,HC-USDT,PHX-BTC,XLM-BTC,RCCC-ETH,LTC-USDT,UUU-BTC,SEELE-ETH,PVT-BTC,HC-ETH,REN-ETH,KAN-USDT,EOS-ETH,BSV-USDT,BTS-USDT,KMD-BTC,OGO-USDT,THETA-ETH,MUSK-BTC,CNNS-HT,ETC-BTC,COVA-BTC,BTT-TRX,XMR-USDT,MTN-ETH,QUN-BTC,NAS-USDT,ELA-ETH,HIT-ETH,BTT-USDT,EKT-ETH,TOS-BTC,GAS-ETH,DCR-USDT,ONT-BTC,NEW-HT,NEXO-BTC,ETH-USDT,WXT-USDT,FOR-HT,ADA-BTC,EVX-ETH,VET-BTC,ZEC-USDT,NANO-ETH,IOST-HT,BCV-ETH,REN-USDT,NULS-ETH,ACT-USDT,LET-ETH,BTM-USDT,MEET-ETH,AKRO-HT,ARDR-BTC,DCR-ETH,NANO-USDT,BTC-HUSD,ALGO-BTC,IIC-ETH,BHD-BTC,KNC-ETH,ATP-BTC,ZRX-BTC,ABT-BTC,18C-BTC,XMR-ETH,WAXP-BTC,CVNT-BTC,MX-USDT,OST-ETH,NKN-BTC,TOPC-BTC,GNX-BTC,FTT-USDT,ONE-HT,DGB-ETH,NULS-USDT,DASH-BTC,UIP-BTC,KCASH-HT,WICC-ETH,EKO-ETH,EGT-HT,IRIS-USDT,STK-ETH,MXC-BTC,NAS-ETH,OMG-USDT,SMT-BTC,BUT-BTC,HIT-USDT,BAT-BTC,IRIS-ETH,NKN-HT,PC-BTC,TOP-USDT,GTC-BTC,LSK-BTC,ITC-ETH,DTA-BTC,HOT-BTC,BTT-BTC,FAIR-ETH,DOCK-ETH,QTUM-BTC,ZEN-BTC,ZIL-BTC,RCN-BTC,FTI-BTC,BHD-USDT,VIDY-USDT,LUN-ETH,DBC-ETH,TOPC-ETH,IIC-BTC,STEEM-USDT,IOTA-ETH,KCASH-BTC,RUFF-BTC,APPC-ETH,MT-BTC,SOC-ETH,GT-HT,PROPY-BTC,AIDOC-BTC,ACT-BTC,LYM-ETH,CHAT-BTC,SWFTC-ETH,ETH-BTC,UIP-USDT,UGAS-BTC,XRP-HUSD,ALGO-USDT,TNT-BTC,ONT-USDT,YEE-ETH,AKRO-BTC,TRX-USDT,OCN-ETH,SRN-BTC,DASH-USDT,XMX-ETH,NANO-BTC,QASH-ETH,EOS-HT,GT-BTC,XTZ-USDT,ARPA-USDT,SALT-ETH,BKBT-ETH,MTX-BTC,SMT-USDT,GXC-BTC,VIDY-BTC,FTT-HT,LAMB-ETH,TRX-BTC,TRIO-ETH,BFT-ETH,LINK-BTC,AE-ETH,NULS-BTC,BHD-HT,AST-ETH,NEO-USDT,EDU-BTC,CVCOIN-BTC,GVE-BTC,GET-BTC,ZRX-USDT,ELF-ETH,DATX-ETH,ADA-ETH,TOP-HT,NCASH-ETH,QTUM-USDT,ETC-HT,ZIL-USDT,TNB-ETH,BIX-ETH,SHE-BTC,PNT-BTC,BTC-USDT,PORTAL-ETH,WAVES-USDT,XZC-ETH,HT-ETH,POLY-BTC,MCO-ETH,MUSK-ETH,PAI-ETH,LXT-USDT,UTK-BTC,RTE-BTC,NCC-ETH,HB10-USDT,BOX-BTC,RDN-ETH,ARPA-BTC,LBA-ETH,CNN-ETH,AAC-ETH,XTZ-BTC,IDT-BTC,AKRO-USDT,IOST-BTC,GT-USDT,WAN-ETH,ETN-ETH,PVT-USDT,NEO-BTC,WAVES-ETH,ONE-USDT,ZEC-BTC,SKM-HT,IOST-ETH,NPXS-ETH,CVC-ETH,CMT-BTC,COVA-ETH,ARDR-ETH,RDN-BTC,DCR-BTC,REN-BTC,YCC-ETH,MX-HT,NEXO-ETH,XLM-ETH,YCC-BTC,ENG-BTC,CNNS-BTC,ZLA-BTC,QSP-BTC,MAN-ETH,UUU-ETH,ETH-HUSD,RTE-ETH,ATP-HT,BTM-BTC,DAC-BTC,TOS-ETH,LAMB-USDT,DASH-HT,NPXS-BTC,NEW-BTC,FTT-BTC,EOS-HUSD,GRS-BTC,POWR-ETH,VET-USDT,AAC-BTC,MX-BTC,MTN-BTC,XVG-ETH,GNX-ETH,SSP-BTC,WAVES-BTC,EGT-BTC,CTXC-ETH,IDT-ETH,STK-BTC,WICC-BTC,UTK-ETH,CRO-HT,LXT-BTC,GSC-ETH,OMG-BTC,XRP-HT,DGB-BTC,IOST-USDT,CVNT-ETH,GAS-BTC,HIT-BTC,CKB-USDT,ARPA-HT,RUFF-USDT,HC-BTC,WTC-ETH,MDS-USDT,ABT-ETH,ALGO-ETH,BIFI-BTC,KNC-BTC,TT-BTC,LET-BTC,NKN-USDT,PAY-BTC,DTA-USDT,AE-BTC,UC-BTC,VSYS-USDT,USDT-HUSD,EOS-BTC,STEEM-BTC,DOGE-BTC,NODE-HT,MDS-ETH,CRE-BTC,GNT-USDT,UIP-ETH,AST-BTC,XEM-BTC,ZEN-ETH,EDU-ETH,MEX-ETH,EKT-BTC,CVC-USDT,WAXP-ETH,REQ-ETH,OST-BTC,STORJ-USDT,SBTC-BTC,DGD-ETH,SC-ETH,WTC-USDT,THETA-BTC,DTA-ETH,BCV-BTC,SNC-BTC,RSR-HT,KAN-BTC,ELA-BTC,ATOM-BTC,BKBT-BTC,FSN-USDT,EM-USDT,WPR-BTC,TOP-BTC,BTS-BTC,EGCC-ETH,MTL-BTC,GNT-ETH,SEELE-BTC,EVX-BTC,FTI-ETH,BAT-USDT,MT-HT,LOL-HT,ICX-ETH,LOOM-BTC,ZJLT-BTC,XLM-USDT,OGO-BTC,DOCK-BTC,CHAT-ETH,DAT-ETH,ETC-USDT,HPT-BTC,BHT-HT"
|
||||
@@ -1864,6 +1891,19 @@
|
||||
"spot"
|
||||
],
|
||||
"pairs": {
|
||||
"futures": {
|
||||
"assetEnabled": true,
|
||||
"enabled": "PF_XBTUSD",
|
||||
"available": "PI_XBTUSD,PI_ETHUSD,PI_LTCUSD,PI_BCHUSD,PI_XRPUSD,PF_XBTUSD,PF_ETHUSD,PF_ADAUSD,PF_XRPUSD,PF_SOLUSD,PF_UNIUSD,PF_ATOMUSD,PF_BCHUSD,PF_DOTUSD,PF_EOSUSD,PF_FILUSD,PF_LINKUSD,PF_LTCUSD,PF_MATICUSD,PF_DEFIUSD,PF_AVAXUSD,PF_XMRUSD,PF_GMTUSD,PF_LUNA2USD,PF_OPUSD,PF_NEARUSD,PF_APEUSD,PF_WAVESUSD,PF_DOGEUSD,PF_FTMUSD,PF_TRXUSD,PF_MANAUSD,PF_CRVUSD,PF_AAVEUSD,PF_SNXUSD,PF_XTZUSD,PF_XLMUSD,PF_ALGOUSD,PF_SANDUSD,PF_OMGUSD,PF_ENJUSD,PF_COMPUSD,PF_YFIUSD,PF_CHZUSD,PF_LPTUSD,PF_BATUSD,PF_MKRUSD,PF_AXSUSD,PF_GALAUSD,PF_ETCUSD,PF_KAVAUSD,PF_LRCUSD,PF_KSMUSD,PF_GRTUSD,PF_FLOWUSD,PF_ZECUSD,PF_QTUMUSD,PF_DASHUSD,PF_1INCHUSD,PF_KNCUSD,PF_OGNUSD,PF_SUSHIUSD,PF_STORJUSD,PF_RUNEUSD,PF_EGLDUSD,PF_DYDXUSD,PF_RENUSD,PF_ANKRUSD,PF_ICPUSD,PF_ETHWUSD,PF_OCEANUSD,PF_BANDUSD,PF_BALUSD,PF_ALICEUSD,PF_ICXUSD,PF_ENSUSD,PF_AUDIOUSD,PF_ANTUSD,PF_SCUSD,PF_MINAUSD,PF_GLMRUSD,PF_THETAUSD,PF_QNTUSD,PF_IMXUSD,PF_APTUSD,PF_FLRUSD,PF_BLURUSD,PF_GMXUSD,PF_MASKUSD,PF_LDOUSD,PF_USDCUSD,PF_USDTUSD,PF_ARBUSD,PF_FETUSD,PF_STXUSD,PF_RNDRUSD,PF_CVXUSD,PF_WOOUSD,PF_JASMYUSD,PF_INJUSD,PF_ZRXUSD,PF_RLCUSD,PF_GALUSD,PF_SUIUSD,PF_PEPEUSD,FI_XBTUSD_231229,FI_ETHUSD_231229,PF_SHIBUSD,PF_TUSDUSD,PF_SXPUSD,PF_ARPAUSD,PF_ALPHAUSD,PF_STGUSD,PF_HFTUSD,PF_ACHUSD,PF_WLDUSD,PF_MOONUSD,PF_LINAUSD,PF_CFXUSD,PF_PAXGUSD,PF_AGLDUSD,FF_ETHUSD_231229,FF_XBTUSD_231229,FI_ETHUSD_240329,FI_XBTUSD_240329,FI_XRPUSD_231229,FI_BCHUSD_231229,FI_LTCUSD_231229,PF_FXSUSD,PF_SEIUSD,FF_XBTUSD_231027,FF_ETHUSD_231027,FI_XBTUSD_231027,FI_ETHUSD_231027,FI_XRPUSD_231027,FI_BCHUSD_231027,FI_LTCUSD_231027",
|
||||
"requestFormat": {
|
||||
"uppercase": true,
|
||||
"delimiter": "_"
|
||||
},
|
||||
"configFormat": {
|
||||
"uppercase": true,
|
||||
"delimiter": "_"
|
||||
}
|
||||
},
|
||||
"spot": {
|
||||
"enabled": "XBT-USD",
|
||||
"available": "ETH-GBP,XRP-USD,DAI-EUR,LSK-USD,BAT-EUR,BCH-EUR,EOS-ETH,GNO-EUR,ETH-CAD,XRP-JPY,ADA-ETH,DAI-USD,DASH-EUR,GNO-USD,LSK-XBT,ETH-EUR,ZEC-EUR,DASH-XBT,EOS-EUR,ETH-CHF,SC-ETH,SC-USD,WAVES-EUR,XBT-USD,ADA-EUR,LINK-USD,NANO-EUR,PAXG-USD,SC-EUR,WAVES-ETH,REP-USD,EOS-XBT,ETC-ETH,XMR-USD,LTC-USD,MLN-XBT,XTZ-CAD,XBT-GBP,ADA-CAD,XTZ-EUR,ETH-JPY,XTZ-USD,XDG-XBT,XLM-EUR,ATOM-USD,ATOM-XBT,OMG-EUR,ZEC-JPY,ADA-XBT,GNO-ETH,LINK-XBT,ETC-EUR,BCH-XBT,QTUM-ETH,XBT-CHF,LTC-EUR,ETH-DAI,LSK-EUR,NANO-USD,QTUM-XBT,XRP-XBT,ZEC-USD,BAT-ETH,LINK-ETH,XBT-CAD,BAT-USD,GNO-XBT,ICX-XBT,PAXG-ETH,DAI-USDT,NANO-ETH,OMG-ETH,WAVES-XBT,ZEC-XBT,BAT-XBT,NANO-XBT,XBT-JPY,DASH-USD,ICX-ETH,LSK-ETH,QTUM-CAD,REP-XBT,XMR-XBT,XRP-EUR,ATOM-CAD,OMG-USD,LTC-XBT,MLN-ETH,XTZ-ETH,EOS-USD,ICX-EUR,SC-XBT,ETC-USD,BCH-USD,ICX-USD,QTUM-USD,ETH-XBT,ETH-USD,OMG-XBT,PAXG-EUR,REP-EUR,ADA-USD,USDT-USD,XMR-EUR,XRP-CAD,ATOM-EUR,ETC-XBT,XBT-EUR,XLM-USD,ATOM-ETH,LINK-EUR,PAXG-XBT,WAVES-USD,REP-ETH,XLM-XBT,QTUM-EUR,XTZ-XBT"
|
||||
|
||||
8
testdata/http_mock/binance/binance.json
vendored
8
testdata/http_mock/binance/binance.json
vendored
@@ -263323,10 +263323,10 @@
|
||||
{
|
||||
"data": {
|
||||
"contractType": "PERPETUAL",
|
||||
"openInterest": "1603856",
|
||||
"openInterest": "6784657",
|
||||
"pair": "BTCUSD",
|
||||
"symbol": "BTCUSD_PERP",
|
||||
"time": 1607293625325
|
||||
"time": 1702244982986
|
||||
},
|
||||
"queryString": "symbol=BTCUSD_PERP",
|
||||
"bodyParams": "",
|
||||
@@ -325935,9 +325935,9 @@
|
||||
"GET": [
|
||||
{
|
||||
"data": {
|
||||
"openInterest": "37679.027",
|
||||
"openInterest": "83782.317",
|
||||
"symbol": "BTCUSDT",
|
||||
"time": 1602819815902
|
||||
"time": 1702244985273
|
||||
},
|
||||
"queryString": "symbol=BTCUSDT",
|
||||
"bodyParams": "",
|
||||
|
||||
27468
testdata/http_mock/bybit/bybit.json
vendored
27468
testdata/http_mock/bybit/bybit.json
vendored
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user