PortfolioBreakdown.fromCBJson constructor

PortfolioBreakdown.fromCBJson(
  1. Map<String, dynamic> json
)

Creates a PortfolioBreakdown from a Coinbase JSON object.

Implementation

factory PortfolioBreakdown.fromCBJson(Map<String, dynamic> json) {
  List<SpotPosition> spotPositions = [];
  if (json['spot_positions'] != null) {
    for (var position in json['spot_positions']) {
      spotPositions.add(SpotPosition.fromCBJson(position));
    }
  }

  List<PerpPosition> perpPositions = [];
  if (json['perp_positions'] != null) {
    for (var position in json['perp_positions']) {
      perpPositions.add(PerpPosition.fromCBJson(position));
    }
  }

  List<FuturesPosition> futuresPositions = [];
  if (json['futures_positions'] != null) {
    for (var position in json['futures_positions']) {
      futuresPositions.add(FuturesPosition.fromCBJson(position));
    }
  }

  return PortfolioBreakdown(
    portfolio: Portfolio.fromCBJson(json['portfolio']),
    portfolioBalances:
        PortfolioBalances.fromCBJson(json['portfolio_balances']),
    spotPositions: spotPositions,
    perpPositions: perpPositions,
    futuresPositions: futuresPositions,
  );
}