Class BinanceAccountService

All Implemented Interfaces:
AccountService, BaseService
Direct Known Subclasses:
BinanceUsAccountService

public class BinanceAccountService extends BinanceAccountServiceRaw implements AccountService
  • Constructor Details

  • Method Details

    • getAccountInfo

      public AccountInfo getAccountInfo() throws IOException
      Description copied from interface: AccountService
      Get account info
      Specified by:
      getAccountInfo in interface AccountService
      Returns:
      the AccountInfo object, null if some sort of error occurred. Implementers should log the error.
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • getDynamicTradingFeesByInstrument

      public Map<Instrument,Fee> getDynamicTradingFeesByInstrument() throws IOException
      Description copied from interface: AccountService
      Get the trading fees per instrument as determined by the given exchange's rules for adjusting fees by recent volume traded. Some exchanges will provide the current fees per currency via a single API request, while others require more logic to compute by hand.
      Specified by:
      getDynamicTradingFeesByInstrument in interface AccountService
      Returns:
      map between currency pairs and their fees at the time of invocation.
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • withdrawFunds

      public String withdrawFunds(Currency currency, BigDecimal amount, String address) throws IOException
      Description copied from interface: AccountService
      Convenience method, typically just delegates to withdrawFunds(WithdrawFundsParams params)
      Specified by:
      withdrawFunds in interface AccountService
      Parameters:
      currency - The currency to withdraw
      amount - The amount to withdraw
      address - The destination address
      Returns:
      The result of the withdrawal (usually a transaction ID)
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • withdrawFunds

      public String withdrawFunds(Currency currency, BigDecimal amount, AddressWithTag address) throws IOException
      Description copied from interface: AccountService
      Convenience method, typically just delegates to withdrawFunds(WithdrawFundsParams params)
      Specified by:
      withdrawFunds in interface AccountService
      Parameters:
      currency - The currency to withdraw
      amount - The amount to withdraw
      address - The destination address
      Returns:
      The result of the withdrawal (usually a transaction ID)
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • withdrawFunds

      public String withdrawFunds(WithdrawFundsParams params) throws IOException
      Description copied from interface: AccountService
      Withdraw funds from this account. Allows to withdraw digital currency funds from the exchange account to an external address
      Specified by:
      withdrawFunds in interface AccountService
      Parameters:
      params - The withdrawl details
      Returns:
      The result of the withdrawal (usually a transaction ID)
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • requestDepositAddress

      public String requestDepositAddress(Currency currency, String... args) throws IOException
      Description copied from interface: AccountService
      Request a digital currency address to fund this account. Allows to fund the exchange account with digital currency from an external address
      Specified by:
      requestDepositAddress in interface AccountService
      Parameters:
      currency - The digital currency that corresponds to the desired deposit address.
      args - Necessary argument(s) as a String
      Returns:
      the internal deposit address to send funds to
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • requestDepositAddressData

      public AddressWithTag requestDepositAddressData(Currency currency, String... args) throws IOException
      Description copied from interface: AccountService
      Request a digital currency address to fund this account. Allows to fund the exchange account with digital currency from an external address
      Specified by:
      requestDepositAddressData in interface AccountService
      Parameters:
      currency - The digital currency that corresponds to the desired deposit address.
      Returns:
      the internal deposit address to send funds to
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data
    • getAssetDetails

      public Map<String,AssetDetail> getAssetDetails() throws IOException
      Throws:
      IOException
    • createFundingHistoryParams

      public TradeHistoryParams createFundingHistoryParams()
      Description copied from interface: AccountService
      Create TradeHistoryParams object specific to this exchange. Object created by this method may be used to discover supported and required AccountService.getFundingHistory(TradeHistoryParams) parameters and should be passed only to the method in the same class as the createFundingHistoryParams that created the object.
      Specified by:
      createFundingHistoryParams in interface AccountService
    • getFundingHistory

      public List<FundingRecord> getFundingHistory(TradeHistoryParams params) throws IOException
      Specified by:
      getFundingHistory in interface AccountService
      Returns:
      list of funding history if available or an empty list otherwise. This should never return null.
      Throws:
      IOException - - Indication that a networking error occurred while fetching JSON data