Skip to content

Commit

Permalink
Upgrade to XChange 4.3.12, other exchange updates
Browse files Browse the repository at this point in the history
* Upgrade to XChange 4.3.12
* Add integration test for CoinbasePro Exchange
* Deprecate Bitfinex, Coinbase, and ItBit exchange providers in favor of `DynamicXChangeRateProvider`
* Add convenience constructors to `DynamicXChangeRateProvider` and `BaseXChangeExchangeRateProvider`
  • Loading branch information
msgilligan committed Jan 7, 2019
1 parent fc33302 commit 246d112
Show file tree
Hide file tree
Showing 11 changed files with 44 additions and 7 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.adoc
Expand Up @@ -7,6 +7,13 @@ A high-level view of the changes in each ConsensusJ binary release.

In progress.

=== bitcoinj-money

* Upgrade to XChange 4.3.12
* Add integration test for CoinbasePro Exchange
* Deprecate Bitfinex, Coinbase, and ItBit exchange providers in favor of `DynamicXChangeRateProvider`
* Add convenience constructors to `DynamicXChangeRateProvider` and `BaseXChangeExchangeRateProvider`

=== bitcoinj-server

* Add `WalletAppKitService` (see https://github.com/ConsensusJ/consensusj/issues/42[Issue #42])
Expand Down
3 changes: 2 additions & 1 deletion bitcoinj-money/build.gradle
Expand Up @@ -2,7 +2,7 @@ plugins {
id 'java-library'
}

def xChangeVersion = '4.3.8'
def xChangeVersion = '4.3.12'

dependencies {
api 'org.javamoney:moneta-bp:1.2'
Expand All @@ -12,4 +12,5 @@ dependencies {
testImplementation "org.knowm.xchange:xchange-bitfinex:${xChangeVersion}"
testImplementation "org.knowm.xchange:xchange-itbit:${xChangeVersion}"
testImplementation "org.knowm.xchange:xchange-coinbase:${xChangeVersion}"
testImplementation "org.knowm.xchange:xchange-coinbasepro:${xChangeVersion}"
}
Expand Up @@ -105,6 +105,10 @@ protected BaseXChangeExchangeRateProvider(Class<? extends Exchange> exchangeClas
this(exchangeClass, pairsConvert(pairs));
}

protected BaseXChangeExchangeRateProvider(String exchangeClassName, ScheduledExecutorService scheduledExecutorService, String[] pairs) {
this(exchangeClassName, scheduledExecutorService, pairsConvert(pairs));
}

protected static CurrencyUnitPair[] pairsConvert(String[] strings) {
CurrencyUnitPair[] units = new CurrencyUnitPair[strings.length];
for (int i = 0 ; i < strings.length ; i++) {
Expand Down
Expand Up @@ -3,8 +3,10 @@
import java.util.concurrent.ScheduledExecutorService;

/**
* Bitfinex ExchangeRateProvider using XChange library
* Bitfinex ExchangeRateProvider using XChange library
* @deprecated Use DynamicXChangeRateProvider
*/
@Deprecated
public class BitfinexXChangeRateProvider extends BaseXChangeExchangeRateProvider {
static private final String[] pairs = {"BTC/USD"};
static private final String xchangeClassName = "org.knowm.xchange.bitfinex.v1.BitfinexExchange";
Expand Down
Expand Up @@ -3,8 +3,10 @@
import java.util.concurrent.ScheduledExecutorService;

/**
* Coinbase ExchangeRateProvider using XChange library
* Coinbase ExchangeRateProvider using XChange library
* @deprecated Use DynamicXChangeRateProvider
*/
@Deprecated
public class CoinbaseXChangeRateProvider extends BaseXChangeExchangeRateProvider {
static private final String[] pairs = {"BTC/USD"};
static private final String xchangeClassName = "org.knowm.xchange.coinbase.CoinbaseExchange";
Expand Down
Expand Up @@ -10,8 +10,16 @@ public DynamicXChangeRateProvider(String exchangeClassName, ScheduledExecutorSer
super(exchangeClassName, scheduledExecutorService, pairs);
}

public DynamicXChangeRateProvider(String exchangeClassName, ScheduledExecutorService scheduledExecutorService, String... pairs) {
super(exchangeClassName, scheduledExecutorService, pairs);
}

public DynamicXChangeRateProvider(String exchangeClassName, CurrencyUnitPair... pairs) {
this(exchangeClassName, null, pairs);
}


public DynamicXChangeRateProvider(String exchangeClassName, String... pairs) {
this(exchangeClassName, null, pairs);
}
}
Expand Up @@ -5,8 +5,10 @@
import java.util.concurrent.ScheduledExecutorService;

/**
* Bitfinex ExchangeRateProvider using XChange library
* Bitfinex ExchangeRateProvider using XChange library
* @deprecated Use DynamicXChangeRateProvider
*/
@Deprecated
public class ItBitXChangeRateProvider extends BaseXChangeExchangeRateProvider {
static private final String[] pairs = {"BTC/USD", "BTC/EUR"};
static private final String xchangeClassName = "org.knowm.xchange.itbit.v1.ItBitExchange";
Expand Down
Expand Up @@ -6,6 +6,6 @@ import spock.lang.Ignore
class BitfinexXChangeRateProviderSpec extends AbstractXChangeRateProviderSpec {
@Override
BaseXChangeExchangeRateProvider createProvider() {
return new BitfinexXChangeRateProvider()
return new DynamicXChangeRateProvider("org.knowm.xchange.bitfinex.v1.BitfinexExchange", "BTC/USD")
}
}
@@ -0,0 +1,11 @@
package com.msgilligan.bitcoinj.money

import spock.lang.Ignore

@Ignore("this is really an integration test")
class CoinbaseProXChangeRateProviderSpec extends AbstractXChangeRateProviderSpec {
@Override
BaseXChangeExchangeRateProvider createProvider() {
return new DynamicXChangeRateProvider("org.knowm.xchange.coinbasepro.CoinbaseProExchange", "BTC/USD")
}
}
Expand Up @@ -6,6 +6,6 @@ import spock.lang.Ignore
class CoinbaseXChangeRateProviderSpec extends AbstractXChangeRateProviderSpec {
@Override
BaseXChangeExchangeRateProvider createProvider() {
return new CoinbaseXChangeRateProvider()
return new DynamicXChangeRateProvider("org.knowm.xchange.coinbase.CoinbaseExchange", "BTC/USD")
}
}
Expand Up @@ -6,6 +6,6 @@ import spock.lang.Ignore
class ItBitXChangeRateProviderSpec extends AbstractXChangeRateProviderSpec {
@Override
BaseXChangeExchangeRateProvider createProvider() {
return new ItBitXChangeRateProvider()
return new DynamicXChangeRateProvider("org.knowm.xchange.itbit.v1.ItBitExchange", "BTC/USD", "BTC/EUR")
}
}

0 comments on commit 246d112

Please sign in to comment.