Interface AccountService

    • Method Detail

      • getAccountInfo

        default AccountInfo getAccountInfo()
                                    throws IOException
        Get account info
        Returns:
        the AccountInfo object, null if some sort of error occurred. Implementers should log the error.
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • withdrawFunds

        default String withdrawFunds​(Currency currency,
                                     BigDecimal amount,
                                     String address)
                              throws IOException
        Convenience method, typically just delegates to withdrawFunds(WithdrawFundsParams params)
        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:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • withdrawFunds

        default String withdrawFunds​(Currency currency,
                                     BigDecimal amount,
                                     AddressWithTag address)
                              throws IOException
        Convenience method, typically just delegates to withdrawFunds(WithdrawFundsParams params)
        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:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • withdrawFunds

        default String withdrawFunds​(WithdrawFundsParams params)
                              throws IOException
        Withdraw funds from this account. Allows to withdraw digital currency funds from the exchange account to an external address
        Parameters:
        params - The withdrawl details
        Returns:
        The result of the withdrawal (usually a transaction ID)
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • requestDepositAddress

        default String requestDepositAddress​(Currency currency,
                                             String... args)
                                      throws IOException
        Request a digital currency address to fund this account. Allows to fund the exchange account with digital currency from an external address
        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:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • requestDepositAddressData

        default AddressWithTag requestDepositAddressData​(Currency currency,
                                                         String... args)
                                                  throws IOException
        Request a digital currency address to fund this account. Allows to fund the exchange account with digital currency from an external address
        Parameters:
        currency - The digital currency that corresponds to the desired deposit address.
        Returns:
        the internal deposit address to send funds to
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • createFundingHistoryParams

        default TradeHistoryParams createFundingHistoryParams()
        Create TradeHistoryParams object specific to this exchange. Object created by this method may be used to discover supported and required getFundingHistory(TradeHistoryParams) parameters and should be passed only to the method in the same class as the createFundingHistoryParams that created the object.
      • getDynamicTradingFeesByInstrument

        default Map<Instrument,​Fee> getDynamicTradingFeesByInstrument()
                                                                     throws IOException
        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.
        Returns:
        map between currency pairs and their fees at the time of invocation.
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data
      • getDynamicTradingFees

        default Map<CurrencyPair,​Fee> getDynamicTradingFees()
                                                           throws IOException
        Get the trading fees per currency pair 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.
        Returns:
        map between currency pairs and their fees at the time of invocation.
        Throws:
        ExchangeException - - Indication that the exchange reported some kind of error with the request or response
        NotAvailableFromExchangeException - - Indication that the exchange does not support the requested function or data
        NotYetImplementedForExchangeException - - Indication that the exchange supports the requested function or data, but it has not yet been implemented
        IOException - - Indication that a networking error occurred while fetching JSON data