@@ -4416,6 +4416,9 @@ func (s *RPCServer) GetCollateral(ctx context.Context, r *gctrpc.GetCollateralRe
4416
4416
if ! collateral .UsedBreakdown .UsedInPositions .IsZero () {
4417
4417
result .UsedBreakdown .UsedInFutures = collateral .UsedBreakdown .UsedInPositions .String () + collateralDisplayCurrency
4418
4418
}
4419
+ if ! collateral .UsedBreakdown .UsedInSpotMarginBorrows .IsZero () {
4420
+ result .UsedBreakdown .UsedInSpotMargin = collateral .UsedBreakdown .UsedInSpotMarginBorrows .String () + collateralDisplayCurrency
4421
+ }
4419
4422
}
4420
4423
if r .IncludeBreakdown {
4421
4424
for i := range collateral .BreakdownOfPositions {
@@ -4444,34 +4447,46 @@ func (s *RPCServer) GetCollateral(ctx context.Context, r *gctrpc.GetCollateralRe
4444
4447
CollateralContribution : collateral .BreakdownByCurrency [i ].CollateralContribution .String () + collateralDisplayCurrency ,
4445
4448
ScaledToCurrency : collateral .BreakdownByCurrency [i ].ScaledCurrency .String (),
4446
4449
}
4450
+ if ! collateral .BreakdownByCurrency [i ].AdditionalCollateralUsed .IsZero () {
4451
+ cb .AdditionalCollateralUsed = collateral .BreakdownByCurrency [i ].AdditionalCollateralUsed .String () + collateralDisplayCurrency
4452
+ }
4453
+
4447
4454
if ! collateral .BreakdownByCurrency [i ].ScaledUsed .IsZero () {
4448
4455
cb .FundsInUse = collateral .BreakdownByCurrency [i ].ScaledUsed .String () + collateralDisplayCurrency
4449
4456
}
4450
4457
if ! collateral .BreakdownByCurrency [i ].UnrealisedPNL .IsZero () {
4451
4458
cb .UnrealisedPNL = collateral .BreakdownByCurrency [i ].UnrealisedPNL .String () + collateralDisplayCurrency
4452
4459
}
4453
4460
if collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown != nil {
4461
+ breakDownDisplayCurrency := collateralDisplayCurrency
4462
+ if collateral .BreakdownByCurrency [i ].Weighting .IsZero () && collateral .BreakdownByCurrency [i ].FairMarketValue .IsZero () {
4463
+ // cannot determine value, show in like currency instead
4464
+ breakDownDisplayCurrency = originalDisplayCurrency
4465
+ }
4454
4466
cb .UsedBreakdown = & gctrpc.CollateralUsedBreakdown {}
4455
4467
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInStakes .IsZero () {
4456
- cb .UsedBreakdown .LockedInStakes = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInStakes .String () + collateralDisplayCurrency
4468
+ cb .UsedBreakdown .LockedInStakes = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInStakes .String () + breakDownDisplayCurrency
4457
4469
}
4458
4470
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInNFTBids .IsZero () {
4459
- cb .UsedBreakdown .LockedInNFTBids = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInNFTBids .String () + collateralDisplayCurrency
4471
+ cb .UsedBreakdown .LockedInNFTBids = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInNFTBids .String () + breakDownDisplayCurrency
4460
4472
}
4461
4473
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInFeeVoucher .IsZero () {
4462
- cb .UsedBreakdown .LockedInFeeVoucher = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInFeeVoucher .String () + collateralDisplayCurrency
4474
+ cb .UsedBreakdown .LockedInFeeVoucher = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInFeeVoucher .String () + breakDownDisplayCurrency
4463
4475
}
4464
4476
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotMarginFundingOffers .IsZero () {
4465
- cb .UsedBreakdown .LockedInSpotMarginFundingOffers = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotMarginFundingOffers .String () + collateralDisplayCurrency
4477
+ cb .UsedBreakdown .LockedInSpotMarginFundingOffers = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotMarginFundingOffers .String () + breakDownDisplayCurrency
4466
4478
}
4467
4479
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotOrders .IsZero () {
4468
- cb .UsedBreakdown .LockedInSpotOrders = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotOrders .String () + collateralDisplayCurrency
4480
+ cb .UsedBreakdown .LockedInSpotOrders = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedInSpotOrders .String () + breakDownDisplayCurrency
4469
4481
}
4470
4482
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedAsCollateral .IsZero () {
4471
- cb .UsedBreakdown .LockedAsCollateral = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedAsCollateral .String () + collateralDisplayCurrency
4483
+ cb .UsedBreakdown .LockedAsCollateral = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .LockedAsCollateral .String () + breakDownDisplayCurrency
4472
4484
}
4473
4485
if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .UsedInPositions .IsZero () {
4474
- cb .UsedBreakdown .UsedInFutures = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .UsedInPositions .String () + collateralDisplayCurrency
4486
+ cb .UsedBreakdown .UsedInFutures = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .UsedInPositions .String () + breakDownDisplayCurrency
4487
+ }
4488
+ if ! collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .UsedInSpotMarginBorrows .IsZero () {
4489
+ cb .UsedBreakdown .UsedInSpotMargin = collateral .BreakdownByCurrency [i ].ScaledUsedBreakdown .UsedInSpotMarginBorrows .String () + breakDownDisplayCurrency
4475
4490
}
4476
4491
}
4477
4492
if collateral .BreakdownByCurrency [i ].Error != nil {
0 commit comments