mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-04 07:26:47 +00:00
exchanges: Use singular futures settlement currency (#2092)
* Change settlement to singular currency * whoops.go * bitmex fix * minor updates * 64 divided by 2 * whoops2.go * ROBOT ROCK Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * ROCK ROCK ROCK ROCK ROBOT Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * shazNit * currencies unmarshal and code use * Update currency/currencies.go Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com> * Update exchanges/btse/btse_wrapper.go Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com> * reuse comment for better clarity * collapses entire thing * shazLint --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com>
This commit is contained in:
@@ -97,9 +97,9 @@ type InstrumentInfo struct {
|
||||
MinNotionalValue types.Number `json:"minNotionalValue"`
|
||||
MaxMarketOrderQuantity types.Number `json:"maxMktOrderQty"`
|
||||
} `json:"lotSizeFilter"`
|
||||
UnifiedMarginTrade bool `json:"unifiedMarginTrade"`
|
||||
FundingInterval int64 `json:"fundingInterval"`
|
||||
SettleCoin string `json:"settleCoin"`
|
||||
UnifiedMarginTrade bool `json:"unifiedMarginTrade"`
|
||||
FundingInterval int64 `json:"fundingInterval"`
|
||||
SettleCoin currency.Code `json:"settleCoin"`
|
||||
}
|
||||
|
||||
// RestResponse represents a REST response instance.
|
||||
|
||||
@@ -1771,7 +1771,7 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
case asset.CoinMarginedFutures:
|
||||
resp := make([]futures.Contract, 0, len(inverseContracts.List))
|
||||
for i := range inverseContracts.List {
|
||||
if inverseContracts.List[i].SettleCoin == "USDT" || inverseContracts.List[i].SettleCoin == "USDC" {
|
||||
if inverseContracts.List[i].SettleCoin.Equal(currency.USDT) || inverseContracts.List[i].SettleCoin.Equal(currency.USDC) {
|
||||
continue
|
||||
}
|
||||
var cp, underlying currency.Pair
|
||||
@@ -1810,18 +1810,18 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
}
|
||||
|
||||
resp = append(resp, futures.Contract{
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: start,
|
||||
EndDate: end,
|
||||
SettlementType: futures.Inverse,
|
||||
IsActive: strings.EqualFold(inverseContracts.List[i].Status, "trading"),
|
||||
Status: inverseContracts.List[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrencies: currency.Currencies{currency.NewCode(inverseContracts.List[i].SettleCoin)},
|
||||
MaxLeverage: inverseContracts.List[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: start,
|
||||
EndDate: end,
|
||||
SettlementType: futures.Inverse,
|
||||
IsActive: strings.EqualFold(inverseContracts.List[i].Status, "trading"),
|
||||
Status: inverseContracts.List[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrency: inverseContracts.List[i].SettleCoin,
|
||||
MaxLeverage: inverseContracts.List[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
})
|
||||
}
|
||||
return resp, nil
|
||||
@@ -1834,13 +1834,13 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
|
||||
var instruments []*InstrumentInfo
|
||||
for i := range linearContracts.List {
|
||||
if linearContracts.List[i].SettleCoin != "USDC" {
|
||||
if !linearContracts.List[i].SettleCoin.Equal(currency.USDC) {
|
||||
continue
|
||||
}
|
||||
instruments = append(instruments, linearContracts.List[i])
|
||||
}
|
||||
for i := range inverseContracts.List {
|
||||
if inverseContracts.List[i].SettleCoin != "USDC" {
|
||||
if !inverseContracts.List[i].SettleCoin.Equal(currency.USDC) {
|
||||
continue
|
||||
}
|
||||
instruments = append(instruments, inverseContracts.List[i])
|
||||
@@ -1888,19 +1888,19 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
}
|
||||
|
||||
resp = append(resp, futures.Contract{
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: instruments[i].LaunchTime.Time(),
|
||||
EndDate: instruments[i].DeliveryTime.Time(),
|
||||
SettlementType: futures.Linear,
|
||||
IsActive: strings.EqualFold(instruments[i].Status, "trading"),
|
||||
Status: instruments[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrencies: currency.Currencies{currency.USDC},
|
||||
MaxLeverage: instruments[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
Multiplier: instruments[i].LeverageFilter.LeverageStep.Float64(),
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: instruments[i].LaunchTime.Time(),
|
||||
EndDate: instruments[i].DeliveryTime.Time(),
|
||||
SettlementType: futures.Linear,
|
||||
IsActive: strings.EqualFold(instruments[i].Status, "trading"),
|
||||
Status: instruments[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrency: currency.USDC,
|
||||
MaxLeverage: instruments[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
Multiplier: instruments[i].LeverageFilter.LeverageStep.Float64(),
|
||||
})
|
||||
}
|
||||
return resp, nil
|
||||
@@ -1913,13 +1913,13 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
|
||||
var instruments []*InstrumentInfo
|
||||
for i := range linearContracts.List {
|
||||
if linearContracts.List[i].SettleCoin != "USDT" {
|
||||
if !linearContracts.List[i].SettleCoin.Equal(currency.USDT) {
|
||||
continue
|
||||
}
|
||||
instruments = append(instruments, linearContracts.List[i])
|
||||
}
|
||||
for i := range inverseContracts.List {
|
||||
if inverseContracts.List[i].SettleCoin != "USDT" {
|
||||
if !inverseContracts.List[i].SettleCoin.Equal(currency.USDT) {
|
||||
continue
|
||||
}
|
||||
instruments = append(instruments, inverseContracts.List[i])
|
||||
@@ -1961,19 +1961,19 @@ func (e *Exchange) GetFuturesContractDetails(ctx context.Context, item asset.Ite
|
||||
}
|
||||
|
||||
resp = append(resp, futures.Contract{
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: start,
|
||||
EndDate: end,
|
||||
SettlementType: futures.Linear,
|
||||
IsActive: strings.EqualFold(instruments[i].Status, "trading"),
|
||||
Status: instruments[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrencies: currency.Currencies{currency.USDT},
|
||||
MaxLeverage: instruments[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
Multiplier: instruments[i].LeverageFilter.LeverageStep.Float64(),
|
||||
Exchange: e.Name,
|
||||
Name: cp.Format(format),
|
||||
Underlying: underlying,
|
||||
Asset: item,
|
||||
StartDate: start,
|
||||
EndDate: end,
|
||||
SettlementType: futures.Linear,
|
||||
IsActive: strings.EqualFold(instruments[i].Status, "trading"),
|
||||
Status: instruments[i].Status,
|
||||
Type: ct,
|
||||
SettlementCurrency: currency.USDT,
|
||||
MaxLeverage: instruments[i].LeverageFilter.MaxLeverage.Float64(),
|
||||
Multiplier: instruments[i].LeverageFilter.LeverageStep.Float64(),
|
||||
})
|
||||
}
|
||||
return resp, nil
|
||||
|
||||
Reference in New Issue
Block a user