From 805b78f06047eabfb40176b223c1b26d170b614f Mon Sep 17 00:00:00 2001
From: Ross Nicoll <jrn@jrn.me.uk>
Date: Fri, 16 Oct 2015 19:18:15 +0100
Subject: [PATCH] Added check of parsed difficulty bits. Corrected difficult
 retarget interval.

---
 .../java/org/libdohj/params/AbstractDogecoinParams.java     | 6 +++---
 src/test/java/org/bitcoinj/core/DogecoinBlockTest.java      | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/libdohj/params/AbstractDogecoinParams.java b/src/main/java/org/libdohj/params/AbstractDogecoinParams.java
index 50ef20ba..0ecfb83b 100644
--- a/src/main/java/org/libdohj/params/AbstractDogecoinParams.java
+++ b/src/main/java/org/libdohj/params/AbstractDogecoinParams.java
@@ -173,8 +173,8 @@ public abstract class AbstractDogecoinParams extends NetworkParameters implement
         final int previousHeight = storedPrev.getHeight();
         final boolean digishieldAlgorithm = previousHeight + 1 >= this.getDigishieldBlockHeight();
         final int retargetInterval = digishieldAlgorithm
-            ? this.getInterval()
-            : this.getNewInterval();
+            ? this.getNewInterval()
+            : this.getInterval();
         
         // Is this supposed to be a difficulty transition point?
         if ((storedPrev.getHeight() + 1) % retargetInterval != 0) {
@@ -226,7 +226,7 @@ public abstract class AbstractDogecoinParams extends NetworkParameters implement
      * @param lastRetargetTime Time of the last difficulty retarget.
      * @return New difficulty target as compact bytes.
      */
-    protected long getNewDifficultyTarget(int previousHeight, long previousBlockTime,
+    public long getNewDifficultyTarget(int previousHeight, long previousBlockTime,
         final long lastDifficultyTarget, final long lastRetargetTime) {
         final int height = previousHeight + 1;
         final boolean digishieldAlgorithm = height >= this.getDigishieldBlockHeight();
diff --git a/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java b/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
index 16e7a5b6..79062bfc 100644
--- a/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
+++ b/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java
@@ -54,6 +54,7 @@ public class DogecoinBlockTest {
         final AltcoinBlock block = (AltcoinBlock)serializer.makeBlock(payload);
         assertEquals("82bc68038f6034c0596b6e313729793a887fded6e92a31fbdf70863f89d9bea2", block.getHashAsString());
         assertEquals(1, block.getTransactions().size());
+        assertEquals(0x1e0ffff0L, block.getDifficultyTarget());
     }
 
     /**