@@ -1555,9 +1555,8 @@ func (f *FTX) calculateTotalCollateralOnline(ctx context.Context, calc *order.To
1555
1555
lockedN := decimal .NewFromFloat (balances [y ].LockedBreakdown .LockedInNFTBids )
1556
1556
lockedO := decimal .NewFromFloat (balances [y ].LockedBreakdown .LockedInSpotOrders )
1557
1557
lockedFO := decimal .NewFromFloat (balances [y ].LockedBreakdown .LockedInSpotMarginFundingOffers )
1558
- lockedSMB := decimal .NewFromFloat (balances [y ].SpotBorrow )
1559
- locked := decimal .Sum (lockedS , lockedC , lockedF , lockedN , lockedO , lockedFO , lockedSMB )
1560
- if ! locked .IsZero () {
1558
+ locked := decimal .Sum (lockedS , lockedC , lockedF , lockedN , lockedO , lockedFO )
1559
+ if ! locked .IsZero () || balances [y ].SpotBorrow > 0 {
1561
1560
if result .UsedBreakdown == nil {
1562
1561
result .UsedBreakdown = & order.UsedCollateralBreakdown {}
1563
1562
}
@@ -1582,8 +1581,8 @@ func (f *FTX) calculateTotalCollateralOnline(ctx context.Context, calc *order.To
1582
1581
LockedInSpotMarginFundingOffers : lockedFO .Mul (currencyBreakdown .FairMarketValue ).Mul (currencyBreakdown .Weighting ),
1583
1582
LockedInSpotOrders : lockedO .Mul (currencyBreakdown .FairMarketValue ).Mul (currencyBreakdown .Weighting ),
1584
1583
LockedAsCollateral : lockedC .Mul (currencyBreakdown .FairMarketValue ).Mul (currencyBreakdown .Weighting ),
1585
- UsedInSpotMarginBorrows : lockedSMB .Mul (currencyBreakdown .FairMarketValue ).Mul (currencyBreakdown .Weighting ),
1586
1584
}
1585
+
1587
1586
if resetWeightingToZero {
1588
1587
currencyBreakdown .Weighting = decimal .Zero
1589
1588
}
@@ -1592,6 +1591,10 @@ func (f *FTX) calculateTotalCollateralOnline(ctx context.Context, calc *order.To
1592
1591
}
1593
1592
1594
1593
currencyBreakdown .ScaledUsed = locked .Mul (currencyBreakdown .FairMarketValue ).Mul (currencyBreakdown .Weighting )
1594
+ if balances [y ].SpotBorrow > 0 {
1595
+ currencyBreakdown .ScaledUsedBreakdown .UsedInSpotMarginBorrows = currencyBreakdown .CollateralContribution .Abs ().Add (currencyBreakdown .AdditionalCollateralUsed )
1596
+ currencyBreakdown .ScaledUsed = currencyBreakdown .ScaledUsed .Add (currencyBreakdown .ScaledUsedBreakdown .UsedInSpotMarginBorrows )
1597
+ }
1595
1598
if ! currencyBreakdown .SkipContribution {
1596
1599
result .UsedCollateral = result .UsedCollateral .Add (currencyBreakdown .ScaledUsed )
1597
1600
result .UsedBreakdown .LockedInStakes = result .UsedBreakdown .LockedInStakes .Add (currencyBreakdown .ScaledUsedBreakdown .LockedInStakes )
0 commit comments