R/isolated_margin_account_info_assets.R

# Binance Public Spot API
#
# OpenAPI Specifications for the Binance Public Spot API  API documents:   - [https://github.com/binance/binance-spot-api-docs](https://github.com/binance/binance-spot-api-docs)   - [https://binance-docs.github.io/apidocs/spot/en](https://binance-docs.github.io/apidocs/spot/en)
#
# The version of the OpenAPI document: 1.0
# 
# Generated by: https://openapi-generator.tech

#' @docType class
#' @title IsolatedMarginAccountInfoAssets
#'
#' @description IsolatedMarginAccountInfoAssets Class
#'
#' @format An \code{R6Class} generator object
#'
#' @field baseAsset  \link{IsolatedMarginAccountInfoBaseAsset} 
#'
#' @field quoteAsset  \link{IsolatedMarginAccountInfoQuoteAsset} 
#'
#' @field symbol  character 
#'
#' @field isolatedCreated  character 
#'
#' @field enabled  character 
#'
#' @field marginLevel  character 
#'
#' @field marginLevelStatus  character 
#'
#' @field marginRatio  character 
#'
#' @field indexPrice  character 
#'
#' @field liquidatePrice  character 
#'
#' @field liquidateRate  character 
#'
#' @field tradeEnabled  character 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
IsolatedMarginAccountInfoAssets <- R6::R6Class(
  'IsolatedMarginAccountInfoAssets',
  public = list(
    `baseAsset` = NULL,
    `quoteAsset` = NULL,
    `symbol` = NULL,
    `isolatedCreated` = NULL,
    `enabled` = NULL,
    `marginLevel` = NULL,
    `marginLevelStatus` = NULL,
    `marginRatio` = NULL,
    `indexPrice` = NULL,
    `liquidatePrice` = NULL,
    `liquidateRate` = NULL,
    `tradeEnabled` = NULL,
    initialize = function(
        `baseAsset`, `quoteAsset`, `symbol`, `isolatedCreated`, `enabled`, `marginLevel`, `marginLevelStatus`, `marginRatio`, `indexPrice`, `liquidatePrice`, `liquidateRate`, `tradeEnabled`, ...
    ) {
      local.optional.var <- list(...)
      if (!missing(`baseAsset`)) {
        stopifnot(R6::is.R6(`baseAsset`))
        self$`baseAsset` <- `baseAsset`
      }
      if (!missing(`quoteAsset`)) {
        stopifnot(R6::is.R6(`quoteAsset`))
        self$`quoteAsset` <- `quoteAsset`
      }
      if (!missing(`symbol`)) {
        stopifnot(is.character(`symbol`), length(`symbol`) == 1)
        self$`symbol` <- `symbol`
      }
      if (!missing(`isolatedCreated`)) {
        stopifnot(is.logical(`isolatedCreated`), length(`isolatedCreated`) == 1)
        self$`isolatedCreated` <- `isolatedCreated`
      }
      if (!missing(`enabled`)) {
        stopifnot(is.logical(`enabled`), length(`enabled`) == 1)
        self$`enabled` <- `enabled`
      }
      if (!missing(`marginLevel`)) {
        stopifnot(is.character(`marginLevel`), length(`marginLevel`) == 1)
        self$`marginLevel` <- `marginLevel`
      }
      if (!missing(`marginLevelStatus`)) {
        stopifnot(is.character(`marginLevelStatus`), length(`marginLevelStatus`) == 1)
        self$`marginLevelStatus` <- `marginLevelStatus`
      }
      if (!missing(`marginRatio`)) {
        stopifnot(is.character(`marginRatio`), length(`marginRatio`) == 1)
        self$`marginRatio` <- `marginRatio`
      }
      if (!missing(`indexPrice`)) {
        stopifnot(is.character(`indexPrice`), length(`indexPrice`) == 1)
        self$`indexPrice` <- `indexPrice`
      }
      if (!missing(`liquidatePrice`)) {
        stopifnot(is.character(`liquidatePrice`), length(`liquidatePrice`) == 1)
        self$`liquidatePrice` <- `liquidatePrice`
      }
      if (!missing(`liquidateRate`)) {
        stopifnot(is.character(`liquidateRate`), length(`liquidateRate`) == 1)
        self$`liquidateRate` <- `liquidateRate`
      }
      if (!missing(`tradeEnabled`)) {
        stopifnot(is.logical(`tradeEnabled`), length(`tradeEnabled`) == 1)
        self$`tradeEnabled` <- `tradeEnabled`
      }
    },
    toJSON = function() {
      IsolatedMarginAccountInfoAssetsObject <- list()
      if (!is.null(self$`baseAsset`)) {
        IsolatedMarginAccountInfoAssetsObject[['baseAsset']] <-
          self$`baseAsset`$toJSON()
      }
      if (!is.null(self$`quoteAsset`)) {
        IsolatedMarginAccountInfoAssetsObject[['quoteAsset']] <-
          self$`quoteAsset`$toJSON()
      }
      if (!is.null(self$`symbol`)) {
        IsolatedMarginAccountInfoAssetsObject[['symbol']] <-
          self$`symbol`
      }
      if (!is.null(self$`isolatedCreated`)) {
        IsolatedMarginAccountInfoAssetsObject[['isolatedCreated']] <-
          self$`isolatedCreated`
      }
      if (!is.null(self$`enabled`)) {
        IsolatedMarginAccountInfoAssetsObject[['enabled']] <-
          self$`enabled`
      }
      if (!is.null(self$`marginLevel`)) {
        IsolatedMarginAccountInfoAssetsObject[['marginLevel']] <-
          self$`marginLevel`
      }
      if (!is.null(self$`marginLevelStatus`)) {
        IsolatedMarginAccountInfoAssetsObject[['marginLevelStatus']] <-
          self$`marginLevelStatus`
      }
      if (!is.null(self$`marginRatio`)) {
        IsolatedMarginAccountInfoAssetsObject[['marginRatio']] <-
          self$`marginRatio`
      }
      if (!is.null(self$`indexPrice`)) {
        IsolatedMarginAccountInfoAssetsObject[['indexPrice']] <-
          self$`indexPrice`
      }
      if (!is.null(self$`liquidatePrice`)) {
        IsolatedMarginAccountInfoAssetsObject[['liquidatePrice']] <-
          self$`liquidatePrice`
      }
      if (!is.null(self$`liquidateRate`)) {
        IsolatedMarginAccountInfoAssetsObject[['liquidateRate']] <-
          self$`liquidateRate`
      }
      if (!is.null(self$`tradeEnabled`)) {
        IsolatedMarginAccountInfoAssetsObject[['tradeEnabled']] <-
          self$`tradeEnabled`
      }

      IsolatedMarginAccountInfoAssetsObject
    },
    fromJSON = function(IsolatedMarginAccountInfoAssetsJson) {
      IsolatedMarginAccountInfoAssetsObject <- jsonlite::fromJSON(IsolatedMarginAccountInfoAssetsJson)
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`baseAsset`)) {
        baseAssetObject <- IsolatedMarginAccountInfoBaseAsset$new()
        baseAssetObject$fromJSON(jsonlite::toJSON(IsolatedMarginAccountInfoAssetsObject$baseAsset, auto_unbox = TRUE, digits = NA))
        self$`baseAsset` <- baseAssetObject
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`quoteAsset`)) {
        quoteAssetObject <- IsolatedMarginAccountInfoQuoteAsset$new()
        quoteAssetObject$fromJSON(jsonlite::toJSON(IsolatedMarginAccountInfoAssetsObject$quoteAsset, auto_unbox = TRUE, digits = NA))
        self$`quoteAsset` <- quoteAssetObject
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`symbol`)) {
        self$`symbol` <- IsolatedMarginAccountInfoAssetsObject$`symbol`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`isolatedCreated`)) {
        self$`isolatedCreated` <- IsolatedMarginAccountInfoAssetsObject$`isolatedCreated`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`enabled`)) {
        self$`enabled` <- IsolatedMarginAccountInfoAssetsObject$`enabled`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`marginLevel`)) {
        self$`marginLevel` <- IsolatedMarginAccountInfoAssetsObject$`marginLevel`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`marginLevelStatus`)) {
        self$`marginLevelStatus` <- IsolatedMarginAccountInfoAssetsObject$`marginLevelStatus`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`marginRatio`)) {
        self$`marginRatio` <- IsolatedMarginAccountInfoAssetsObject$`marginRatio`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`indexPrice`)) {
        self$`indexPrice` <- IsolatedMarginAccountInfoAssetsObject$`indexPrice`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`liquidatePrice`)) {
        self$`liquidatePrice` <- IsolatedMarginAccountInfoAssetsObject$`liquidatePrice`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`liquidateRate`)) {
        self$`liquidateRate` <- IsolatedMarginAccountInfoAssetsObject$`liquidateRate`
      }
      if (!is.null(IsolatedMarginAccountInfoAssetsObject$`tradeEnabled`)) {
        self$`tradeEnabled` <- IsolatedMarginAccountInfoAssetsObject$`tradeEnabled`
      }
      self
    },
    toJSONString = function() {
      jsoncontent <- c(
        if (!is.null(self$`baseAsset`)) {
        sprintf(
        '"baseAsset":
        %s
        ',
        jsonlite::toJSON(self$`baseAsset`$toJSON(), auto_unbox=TRUE, digits = NA)
        )},
        if (!is.null(self$`quoteAsset`)) {
        sprintf(
        '"quoteAsset":
        %s
        ',
        jsonlite::toJSON(self$`quoteAsset`$toJSON(), auto_unbox=TRUE, digits = NA)
        )},
        if (!is.null(self$`symbol`)) {
        sprintf(
        '"symbol":
          "%s"
                ',
        self$`symbol`
        )},
        if (!is.null(self$`isolatedCreated`)) {
        sprintf(
        '"isolatedCreated":
          %s
                ',
        tolower(self$`isolatedCreated`)
        )},
        if (!is.null(self$`enabled`)) {
        sprintf(
        '"enabled":
          %s
                ',
        tolower(self$`enabled`)
        )},
        if (!is.null(self$`marginLevel`)) {
        sprintf(
        '"marginLevel":
          "%s"
                ',
        self$`marginLevel`
        )},
        if (!is.null(self$`marginLevelStatus`)) {
        sprintf(
        '"marginLevelStatus":
          "%s"
                ',
        self$`marginLevelStatus`
        )},
        if (!is.null(self$`marginRatio`)) {
        sprintf(
        '"marginRatio":
          "%s"
                ',
        self$`marginRatio`
        )},
        if (!is.null(self$`indexPrice`)) {
        sprintf(
        '"indexPrice":
          "%s"
                ',
        self$`indexPrice`
        )},
        if (!is.null(self$`liquidatePrice`)) {
        sprintf(
        '"liquidatePrice":
          "%s"
                ',
        self$`liquidatePrice`
        )},
        if (!is.null(self$`liquidateRate`)) {
        sprintf(
        '"liquidateRate":
          "%s"
                ',
        self$`liquidateRate`
        )},
        if (!is.null(self$`tradeEnabled`)) {
        sprintf(
        '"tradeEnabled":
          %s
                ',
        tolower(self$`tradeEnabled`)
        )}
      )
      jsoncontent <- paste(jsoncontent, collapse = ",")
      paste('{', jsoncontent, '}', sep = "")
    },
    fromJSONString = function(IsolatedMarginAccountInfoAssetsJson) {
      IsolatedMarginAccountInfoAssetsObject <- jsonlite::fromJSON(IsolatedMarginAccountInfoAssetsJson)
      self$`baseAsset` <- IsolatedMarginAccountInfoBaseAsset$new()$fromJSON(jsonlite::toJSON(IsolatedMarginAccountInfoAssetsObject$baseAsset, auto_unbox = TRUE, digits = NA))
      self$`quoteAsset` <- IsolatedMarginAccountInfoQuoteAsset$new()$fromJSON(jsonlite::toJSON(IsolatedMarginAccountInfoAssetsObject$quoteAsset, auto_unbox = TRUE, digits = NA))
      self$`symbol` <- IsolatedMarginAccountInfoAssetsObject$`symbol`
      self$`isolatedCreated` <- IsolatedMarginAccountInfoAssetsObject$`isolatedCreated`
      self$`enabled` <- IsolatedMarginAccountInfoAssetsObject$`enabled`
      self$`marginLevel` <- IsolatedMarginAccountInfoAssetsObject$`marginLevel`
      self$`marginLevelStatus` <- IsolatedMarginAccountInfoAssetsObject$`marginLevelStatus`
      self$`marginRatio` <- IsolatedMarginAccountInfoAssetsObject$`marginRatio`
      self$`indexPrice` <- IsolatedMarginAccountInfoAssetsObject$`indexPrice`
      self$`liquidatePrice` <- IsolatedMarginAccountInfoAssetsObject$`liquidatePrice`
      self$`liquidateRate` <- IsolatedMarginAccountInfoAssetsObject$`liquidateRate`
      self$`tradeEnabled` <- IsolatedMarginAccountInfoAssetsObject$`tradeEnabled`
      self
    }
  )
)
grahamjwhite/binanceRapi documentation built on Nov. 22, 2022, 9:37 p.m.