@Override
  public AccountInfo getAccountInfo() {

    MtGoxAccountInfo mtGoxAccountInfo =
        mtGoxV1.getAccountInfo(exchangeSpecification.getApiKey(), signatureCreator, getNonce());
    return MtGoxAdapters.adaptAccountInfo(mtGoxAccountInfo);
  }
  @Override
  public String requestBitcoinDepositAddress(final String... arguments) {

    String description = arguments[0];
    String notificationUrl = arguments[1];
    MtGoxBitcoinDepositAddress mtGoxBitcoinDepositAddress =
        mtGoxV1.requestDepositAddress(
            exchangeSpecification.getApiKey(),
            signatureCreator,
            getNonce(),
            description,
            notificationUrl);

    return mtGoxBitcoinDepositAddress.getAddres();
  }
  @Override
  public String withdrawFunds(BigDecimal amount, String address) {

    MtGoxWithdrawalResponse result =
        mtGoxV1.withdrawBtc(
            exchangeSpecification.getApiKey(),
            signatureCreator,
            getNonce(),
            address,
            amount
                .multiply(new BigDecimal(MtGoxUtils.BTC_VOLUME_AND_AMOUNT_INT_2_DECIMAL_FACTOR))
                .intValue(),
            1,
            false,
            false);
    return result.getTransactionId();
  }