diff --git a/pom.xml b/pom.xml
index 3be12e9..d3b98e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,11 +63,6 @@
4.12
test
-
- net.java.dev.jna
- jna-platform
- 4.0.0
-
diff --git a/src/main/java/jota/IotaAPI.java b/src/main/java/jota/IotaAPI.java
index 2bc36f8..13ea298 100644
--- a/src/main/java/jota/IotaAPI.java
+++ b/src/main/java/jota/IotaAPI.java
@@ -8,7 +8,6 @@ import jota.model.*;
import jota.pow.ICurl;
import jota.pow.JCurl;
import jota.utils.*;
-import jota.utils.StopWatch;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,26 +27,17 @@ import java.util.*;
*
* @author davassi
*/
-public class IotaAPI {
+public class IotaAPI extends IotaAPICoreProxy {
private static final Logger log = LoggerFactory.getLogger(IotaAPI.class);
- private IotaAPICoreProxy coreProxy;
private ICurl customCurl;
private StopWatch stopWatch;
- public IotaAPI() {
- this(null);
+ protected IotaAPI(Builder builder) {
+ super(builder);
+ customCurl = builder.customCurl;
}
- public IotaAPI(ICurl customCurl) {
- this.customCurl = customCurl;
- coreProxy = new IotaAPICoreProxy.Builder().build();
- stopWatch = new StopWatch();
- }
-
-
- // end of proxied calls.
-
/**
* Generates a new address from a seed and returns the remainderAddress.
* This is either done deterministically, or by providing the index of the new remainderAddress
@@ -77,7 +67,7 @@ public class IotaAPI {
for (int i = index; ; i++) {
final String newAddress = IotaAPIUtils.newAddress(seed, i, checksum, customCurl);
- final FindTransactionResponse response = coreProxy.findTransactionsByAddresses(newAddress);
+ final FindTransactionResponse response = findTransactionsByAddresses(newAddress);
allAddresses.add(newAddress);
if (response.getHashes().length == 0) {
@@ -168,7 +158,7 @@ public class IotaAPI {
if (inclusionStates) {
try {
gisr = getLatestInclusion(tailTxArray);
- } catch (IllegalAccessError e) {
+ } catch (IllegalAccessError ignored) {
}
if (gisr == null || gisr.getStates() == null || gisr.getStates().length == 0)
@@ -213,12 +203,12 @@ public class IotaAPI {
public StoreTransactionsResponse broadcastAndStore(final String... trytes) {
try {
- coreProxy.broadcastTransactions(trytes);
+ broadcastTransactions(trytes);
} catch (Exception e) {
log.error("Impossible to broadcastAndStore, aborting.", e);
throw new IllegalStateException("BroadcastAndStore Illegal state Exception");
}
- return coreProxy.storeTransactions(trytes);
+ return storeTransactions(trytes);
}
/**
@@ -230,10 +220,10 @@ public class IotaAPI {
* @return
*/
public List sendTrytes(final String[] trytes, final int depth, final int minWeightMagnitude) {
- final GetTransactionsToApproveResponse txs = coreProxy.getTransactionsToApprove(depth);
+ final GetTransactionsToApproveResponse txs = getTransactionsToApprove(depth);
// attach to tangle - do pow
- final GetAttachToTangleResponse res = coreProxy.attachToTangle(txs.getTrunkTransaction(), txs.getBranchTransaction(), minWeightMagnitude, trytes);
+ final GetAttachToTangleResponse res = attachToTangle(txs.getTrunkTransaction(), txs.getBranchTransaction(), minWeightMagnitude, trytes);
try {
broadcastAndStore(res.getTrytes());
@@ -267,7 +257,7 @@ public class IotaAPI {
throw new IllegalStateException("Not an Array of Hashes: " + Arrays.toString(hashes));
}
- final GetTrytesResponse trytesResponse = coreProxy.getTrytes(hashes);
+ final GetTrytesResponse trytesResponse = getTrytes(hashes);
final List trxs = new ArrayList<>();
@@ -288,7 +278,7 @@ public class IotaAPI {
* @returns {object} success
**/
public List findTransactionObjects(String[] input) {
- FindTransactionResponse ftr = coreProxy.findTransactions(input, null, null, null);
+ FindTransactionResponse ftr = findTransactions(input, null, null, null);
if (ftr == null || ftr.getHashes() == null)
return null;
@@ -307,7 +297,7 @@ public class IotaAPI {
* @returns {object} success
**/
public List findTransactionObjectsByBundle(String[] input) {
- FindTransactionResponse ftr = coreProxy.findTransactions(null, null, null, input);
+ FindTransactionResponse ftr = findTransactions(null, null, null, input);
if (ftr == null || ftr.getHashes() == null)
return null;
@@ -416,7 +406,7 @@ public class IotaAPI {
inputsAddresses.add(i.getAddress());
}
- GetBalancesResponse balancesResponse = coreProxy.getBalances(100, inputsAddresses);
+ GetBalancesResponse balancesResponse = getBalances(100, inputsAddresses);
String[] balances = balancesResponse.getBalances();
List confirmedInputs = new ArrayList<>();
@@ -448,7 +438,7 @@ public class IotaAPI {
// confirm that the inputs exceed the threshold
else {
- GetBalancesAndFormatResponse newinputs = getInputs(seed, Collections.EMPTY_LIST, 0, 0, totalValue);
+ @SuppressWarnings("unchecked") GetBalancesAndFormatResponse newinputs = getInputs(seed, Collections.EMPTY_LIST, 0, 0, totalValue);
// If inputs with enough balance
return addRemainder(seed, newinputs.getInput(), bundle, tag, totalValue, null, signatureFragments);
}
@@ -530,13 +520,13 @@ public class IotaAPI {
public GetBalancesAndFormatResponse getBalanceAndFormat(final List addresses, List balances, long threshold, int start, int end, StopWatch stopWatch) {
if (balances == null || balances.isEmpty()) {
- GetBalancesResponse getBalancesResponse = coreProxy.getBalances(100, addresses);
+ GetBalancesResponse getBalancesResponse = getBalances(100, addresses);
balances = Arrays.asList(getBalancesResponse.getBalances());
}
// If threshold defined, keep track of whether reached or not
// else set default to true
- boolean thresholdReached = threshold != 0 ? false : true;
+ boolean thresholdReached = threshold == 0;
int i = -1;
List inputs = new ArrayList<>();
@@ -640,9 +630,9 @@ public class IotaAPI {
throw new InvalidBundleException("Invalid Bundle");
// Validate the signatures
- for (int i = 0; i < signaturesToValidate.size(); i++) {
- String[] signatureFragments = signaturesToValidate.get(i).getSignatureFragments().toArray(new String[signaturesToValidate.get(i).getSignatureFragments().size()]);
- String address = signaturesToValidate.get(i).getAddress();
+ for (Signature aSignaturesToValidate : signaturesToValidate) {
+ String[] signatureFragments = aSignaturesToValidate.getSignatureFragments().toArray(new String[aSignaturesToValidate.getSignatureFragments().size()]);
+ String address = aSignaturesToValidate.getAddress();
boolean isValidSignature = new Signing().validateSignatures(address, signatureFragments, bundleHash);
if (!isValidSignature) throw new InvalidSignatureException();
@@ -679,7 +669,7 @@ public class IotaAPI {
for (int i = 0; i < trxs.size(); i++) {
- final FindTransactionResponse response = coreProxy.findTransactionsByBundles(trxs.get(i).getBundle());
+ final FindTransactionResponse response = findTransactionsByBundles(trxs.get(i).getBundle());
successful[i] = response.getHashes().length != 0;
@@ -697,12 +687,12 @@ public class IotaAPI {
* @returns {array} state
**/
public GetInclusionStateResponse getLatestInclusion(String[] hashes) {
- GetNodeInfoResponse getNodeInfoResponse = coreProxy.getNodeInfo();
+ GetNodeInfoResponse getNodeInfoResponse = getNodeInfo();
if (getNodeInfoResponse == null) return null;
String[] latestMilestone = {getNodeInfoResponse.getLatestSolidSubtangleMilestone()};
- return coreProxy.getInclusionStates(hashes, latestMilestone);
+ return getInclusionStates(hashes, latestMilestone);
}
public SendTransferResponse sendTransfer(String seed, int depth, int minWeightMagnitude, final List transfers, Input[] inputs, String address) {
@@ -715,7 +705,7 @@ public class IotaAPI {
for (int i = 0; i < trxs.size(); i++) {
- final FindTransactionResponse response = coreProxy.findTransactionsByBundles(trxs.get(i).getBundle());
+ final FindTransactionResponse response = findTransactionsByBundles(trxs.get(i).getBundle());
successful[i] = response.getHashes().length != 0;
}
@@ -735,7 +725,7 @@ public class IotaAPI {
* @returns {array} bundle Transaction objects
**/
public Bundle traverseBundle(String trunkTx, String bundleHash, Bundle bundle) throws ArgumentException {
- GetTrytesResponse gtr = coreProxy.getTrytes(trunkTx);
+ GetTrytesResponse gtr = getTrytes(trunkTx);
if (gtr != null) {
@@ -776,7 +766,7 @@ public class IotaAPI {
}
public String findTailTransactionHash(String hash) throws ArgumentException {
- GetTrytesResponse gtr = coreProxy.getTrytes(hash);
+ GetTrytesResponse gtr = getTrytes(hash);
if (gtr == null) throw new ArgumentException("Invalid hash");
@@ -844,4 +834,18 @@ public class IotaAPI {
}
return null;
}
+
+ public static class Builder extends IotaAPICoreProxy.Builder {
+ private ICurl customCurl;
+
+ public Builder withCustomCurl(ICurl curl) {
+ customCurl = curl;
+ return this;
+ }
+
+ public IotaAPI build() {
+ super.build();
+ return new IotaAPI(this);
+ }
+ }
}
diff --git a/src/main/java/jota/IotaAPICoreProxy.java b/src/main/java/jota/IotaAPICoreProxy.java
index 2be14bd..e87e052 100644
--- a/src/main/java/jota/IotaAPICoreProxy.java
+++ b/src/main/java/jota/IotaAPICoreProxy.java
@@ -28,7 +28,7 @@ public class IotaAPICoreProxy {
private IotaAPIService service;
private String protocol, host, port;
- private IotaAPICoreProxy(final Builder builder) {
+ protected IotaAPICoreProxy(final Builder builder) {
protocol = builder.protocol;
host = builder.host;
port = builder.port;
@@ -52,7 +52,7 @@ public class IotaAPICoreProxy {
}
}
- private static final String env(String env, String def) {
+ private static String env(String env, String def) {
final String value = System.getenv(env);
if (value == null) {
log.warn("Environment variable '{}' is not defined, and actual value has not been specified. "
@@ -187,7 +187,8 @@ public class IotaAPICoreProxy {
return wrapCheckedException(res).body();
}
- public static class Builder {
+ @SuppressWarnings("unchecked")
+ public static class Builder > {
String protocol, host, port;
@@ -241,19 +242,19 @@ public class IotaAPICoreProxy {
port = env("IOTA_NODE_PORT", "14265");
}
- public Builder host(String host) {
+ public T host(String host) {
this.host = host;
- return this;
+ return (T) this;
}
- public Builder port(String port) {
+ public T port(String port) {
this.port = port;
- return this;
+ return (T) this;
}
- public Builder protocol(String protocol) {
+ public T protocol(String protocol) {
this.protocol = protocol;
- return this;
+ return (T) this;
}
}
diff --git a/src/main/java/jota/dto/request/IotaAttachToTangleRequest.java b/src/main/java/jota/dto/request/IotaAttachToTangleRequest.java
index bfef85b..8d50a54 100644
--- a/src/main/java/jota/dto/request/IotaAttachToTangleRequest.java
+++ b/src/main/java/jota/dto/request/IotaAttachToTangleRequest.java
@@ -20,4 +20,36 @@ public class IotaAttachToTangleRequest extends IotaCommandRequest {
public static IotaAttachToTangleRequest createAttachToTangleRequest(final String trunkTransaction, final String branchTransaction, final Integer minWeightMagnitude, final String... trytes) {
return new IotaAttachToTangleRequest(trunkTransaction, branchTransaction, minWeightMagnitude, trytes);
}
+
+ public String getTrunkTransaction() {
+ return trunkTransaction;
+ }
+
+ public void setTrunkTransaction(String trunkTransaction) {
+ this.trunkTransaction = trunkTransaction;
+ }
+
+ public String getBranchTransaction() {
+ return branchTransaction;
+ }
+
+ public void setBranchTransaction(String branchTransaction) {
+ this.branchTransaction = branchTransaction;
+ }
+
+ public Integer getMinWeightMagnitude() {
+ return minWeightMagnitude;
+ }
+
+ public void setMinWeightMagnitude(Integer minWeightMagnitude) {
+ this.minWeightMagnitude = minWeightMagnitude;
+ }
+
+ public String[] getTrytes() {
+ return trytes;
+ }
+
+ public void setTrytes(String[] trytes) {
+ this.trytes = trytes;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaBroadcastTransactionRequest.java b/src/main/java/jota/dto/request/IotaBroadcastTransactionRequest.java
index 42847d9..5a0a5d5 100644
--- a/src/main/java/jota/dto/request/IotaBroadcastTransactionRequest.java
+++ b/src/main/java/jota/dto/request/IotaBroadcastTransactionRequest.java
@@ -14,4 +14,12 @@ public class IotaBroadcastTransactionRequest extends IotaCommandRequest {
public static IotaBroadcastTransactionRequest createBroadcastTransactionsRequest(final String... trytes) {
return new IotaBroadcastTransactionRequest(trytes);
}
+
+ public String[] getTrytes() {
+ return trytes;
+ }
+
+ public void setTrytes(String[] trytes) {
+ this.trytes = trytes;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/jota/dto/request/IotaFindTransactionsRequest.java b/src/main/java/jota/dto/request/IotaFindTransactionsRequest.java
index b3a72df..71e70fe 100644
--- a/src/main/java/jota/dto/request/IotaFindTransactionsRequest.java
+++ b/src/main/java/jota/dto/request/IotaFindTransactionsRequest.java
@@ -4,6 +4,38 @@ import jota.IotaAPICommands;
public class IotaFindTransactionsRequest extends IotaCommandRequest {
+ public String[] getBundles() {
+ return bundles;
+ }
+
+ public void setBundles(String[] bundles) {
+ this.bundles = bundles;
+ }
+
+ public String[] getAddresses() {
+ return addresses;
+ }
+
+ public void setAddresses(String[] addresses) {
+ this.addresses = addresses;
+ }
+
+ public String[] getTags() {
+ return tags;
+ }
+
+ public void setTags(String[] tags) {
+ this.tags = tags;
+ }
+
+ public String[] getApprovees() {
+ return approvees;
+ }
+
+ public void setApprovees(String[] approvees) {
+ this.approvees = approvees;
+ }
+
private String[] bundles; // List of bundle hashes. The hashes need to be extended to 81chars by padding the hash with 9's.
private String[] addresses;
private String[] tags;
diff --git a/src/main/java/jota/dto/request/IotaGetBalancesRequest.java b/src/main/java/jota/dto/request/IotaGetBalancesRequest.java
index 807865d..33d760d 100644
--- a/src/main/java/jota/dto/request/IotaGetBalancesRequest.java
+++ b/src/main/java/jota/dto/request/IotaGetBalancesRequest.java
@@ -17,5 +17,20 @@ public class IotaGetBalancesRequest extends IotaCommandRequest {
return new IotaGetBalancesRequest(threshold, addresses);
}
+ public String[] getAddresses() {
+ return addresses;
+ }
+
+ public void setAddresses(String[] addresses) {
+ this.addresses = addresses;
+ }
+
+ public Integer getThreshold() {
+ return threshold;
+ }
+
+ public void setThreshold(Integer threshold) {
+ this.threshold = threshold;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaGetInclusionStateRequest.java b/src/main/java/jota/dto/request/IotaGetInclusionStateRequest.java
index d0d323c..704806e 100644
--- a/src/main/java/jota/dto/request/IotaGetInclusionStateRequest.java
+++ b/src/main/java/jota/dto/request/IotaGetInclusionStateRequest.java
@@ -25,4 +25,19 @@ public class IotaGetInclusionStateRequest extends IotaCommandRequest {
tips.toArray(new String[]{}));
}
+ public String[] getTransactions() {
+ return transactions;
+ }
+
+ public void setTransactions(String[] transactions) {
+ this.transactions = transactions;
+ }
+
+ public String[] getTips() {
+ return tips;
+ }
+
+ public void setTips(String[] tips) {
+ this.tips = tips;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaGetTransactionsToApproveRequest.java b/src/main/java/jota/dto/request/IotaGetTransactionsToApproveRequest.java
index f597448..fb1b367 100644
--- a/src/main/java/jota/dto/request/IotaGetTransactionsToApproveRequest.java
+++ b/src/main/java/jota/dto/request/IotaGetTransactionsToApproveRequest.java
@@ -14,4 +14,12 @@ public class IotaGetTransactionsToApproveRequest extends IotaCommandRequest {
public static IotaGetTransactionsToApproveRequest createIotaGetTransactionsToApproveRequest(Integer depth) {
return new IotaGetTransactionsToApproveRequest(depth);
}
+
+ public Integer getDepth() {
+ return depth;
+ }
+
+ public void setDepth(Integer depth) {
+ this.depth = depth;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaGetTrytesRequest.java b/src/main/java/jota/dto/request/IotaGetTrytesRequest.java
index b493451..eaa5888 100644
--- a/src/main/java/jota/dto/request/IotaGetTrytesRequest.java
+++ b/src/main/java/jota/dto/request/IotaGetTrytesRequest.java
@@ -14,4 +14,12 @@ public class IotaGetTrytesRequest extends IotaCommandRequest {
public static IotaGetTrytesRequest createGetTrytesRequest(String... hashes) {
return new IotaGetTrytesRequest(hashes);
}
+
+ public String[] getHashes() {
+ return hashes;
+ }
+
+ public void setHashes(String[] hashes) {
+ this.hashes = hashes;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaNeighborsRequest.java b/src/main/java/jota/dto/request/IotaNeighborsRequest.java
index 82c96b1..c81c491 100644
--- a/src/main/java/jota/dto/request/IotaNeighborsRequest.java
+++ b/src/main/java/jota/dto/request/IotaNeighborsRequest.java
@@ -18,5 +18,13 @@ public class IotaNeighborsRequest extends IotaCommandRequest {
public static IotaNeighborsRequest createRemoveNeighborsRequest(String... uris) {
return new IotaNeighborsRequest(IotaAPICommands.REMOVE_NEIGHBORS, uris);
}
+
+ public String[] getUris() {
+ return uris;
+ }
+
+ public void setUris(String[] uris) {
+ this.uris = uris;
+ }
}
diff --git a/src/main/java/jota/dto/request/IotaStoreTransactionsRequest.java b/src/main/java/jota/dto/request/IotaStoreTransactionsRequest.java
index 5247894..1b9c55b 100644
--- a/src/main/java/jota/dto/request/IotaStoreTransactionsRequest.java
+++ b/src/main/java/jota/dto/request/IotaStoreTransactionsRequest.java
@@ -14,4 +14,12 @@ public class IotaStoreTransactionsRequest extends IotaCommandRequest {
public static IotaStoreTransactionsRequest createStoreTransactionsRequest(final String... trytes) {
return new IotaStoreTransactionsRequest(trytes);
}
+
+ public String[] getTrytes() {
+ return trytes;
+ }
+
+ public void setTrytes(String[] trytes) {
+ this.trytes = trytes;
+ }
}
diff --git a/src/main/java/jota/dto/response/AnalyzeTransactionResponse.java b/src/main/java/jota/dto/response/AnalyzeTransactionResponse.java
index 53081ff..08c56cf 100644
--- a/src/main/java/jota/dto/response/AnalyzeTransactionResponse.java
+++ b/src/main/java/jota/dto/response/AnalyzeTransactionResponse.java
@@ -7,7 +7,7 @@ import java.util.List;
public class AnalyzeTransactionResponse extends AbstractResponse {
- private List transactions = new ArrayList();
+ private List transactions = new ArrayList<>();
public List getTransactions() {
return transactions;
diff --git a/src/main/java/jota/model/Transaction.java b/src/main/java/jota/model/Transaction.java
index f6b38dc..aa6c35f 100644
--- a/src/main/java/jota/model/Transaction.java
+++ b/src/main/java/jota/model/Transaction.java
@@ -159,11 +159,7 @@ public class Transaction {
}
public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- }
- if (((Transaction) obj).getHash().equals(this.getHash())) return true;
- return false;
+ return obj != null && ((Transaction) obj).getHash().equals(this.getHash());
}
}
\ No newline at end of file
diff --git a/src/main/java/jota/pow/ICurl.java b/src/main/java/jota/pow/ICurl.java
index 4c2b015..b731b57 100644
--- a/src/main/java/jota/pow/ICurl.java
+++ b/src/main/java/jota/pow/ICurl.java
@@ -4,12 +4,19 @@ package jota.pow;
* Created by Adrian on 07.01.2017.
*/
public interface ICurl {
- public JCurl absorbb(final int[] trits, int offset, int length);
- public JCurl absorbb(final int[] trits);
- public int[] squeezee(final int[] trits, int offset, int length);
- public int[] squeezee(final int[] trits);
- public JCurl transform();
- public JCurl reset();
- public int[] getState();
- public void setState(int[] state);
- }
+ JCurl absorbb(final int[] trits, int offset, int length);
+
+ JCurl absorbb(final int[] trits);
+
+ int[] squeezee(final int[] trits, int offset, int length);
+
+ int[] squeezee(final int[] trits);
+
+ JCurl transform();
+
+ JCurl reset();
+
+ int[] getState();
+
+ void setState(int[] state);
+}
diff --git a/src/main/java/jota/utils/Converter.java b/src/main/java/jota/utils/Converter.java
index 5f2d97c..8a50475 100644
--- a/src/main/java/jota/utils/Converter.java
+++ b/src/main/java/jota/utils/Converter.java
@@ -1,8 +1,6 @@
package jota.utils;
import jota.model.Transaction;
-import jota.pow.JCurl;
-import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,7 +71,7 @@ public class Converter {
int[] ret = new int[integers.size()];
for (int i=0; i < ret.length; i++)
{
- ret[i] = integers.get(i).intValue();
+ ret[i] = integers.get(i);
}
return ret;
}
diff --git a/src/main/java/jota/utils/InputValidator.java b/src/main/java/jota/utils/InputValidator.java
index b636bb5..226363f 100644
--- a/src/main/java/jota/utils/InputValidator.java
+++ b/src/main/java/jota/utils/InputValidator.java
@@ -2,9 +2,6 @@ package jota.utils;
import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-
-import jota.model.Transaction;
import jota.model.Transfer;
import org.apache.commons.lang3.math.NumberUtils;
@@ -81,11 +78,7 @@ public class InputValidator {
}
// Check if tag is correct trytes of {0,27} trytes
- if (!isTrytes(transfer.getTag(), 27)) {
- return false;
- }
-
- return true;
+ return isTrytes(transfer.getTag(), 27);
}
public static String validateSeed(String seed) {
diff --git a/src/main/java/jota/utils/IotaAPIUtils.java b/src/main/java/jota/utils/IotaAPIUtils.java
index 2a93482..b3c8b00 100644
--- a/src/main/java/jota/utils/IotaAPIUtils.java
+++ b/src/main/java/jota/utils/IotaAPIUtils.java
@@ -59,9 +59,9 @@ public class IotaAPIUtils {
// Get the corresponding keyIndex of the address
int keyIndex = 0;
- for (int k = 0; k < inputs.size(); k++) {
- if (inputs.get(k).getAddress().equals(thisAddress)) {
- keyIndex = inputs.get(k).getKeyIndex();
+ for (Input input : inputs) {
+ if (input.getAddress().equals(thisAddress)) {
+ keyIndex = input.getKeyIndex();
break;
}
}
@@ -90,7 +90,7 @@ public class IotaAPIUtils {
// find the second transaction to add the remainder of the signature
for (int j = 0; j < bundle.getTransactions().size(); j++) {
// Same address as well as value = 0 (as we already spent the input)
- if (bundle.getTransactions().get(j).getAddress() == thisAddress && Long.parseLong(bundle.getTransactions().get(j).getValue()) == 0) {
+ if (bundle.getTransactions().get(j).getAddress().equals(thisAddress) && Long.parseLong(bundle.getTransactions().get(j).getValue()) == 0) {
// Use the second 6562 trits
int[] secondFragment = Arrays.copyOfRange(key, 6561, 6561 * 2);
diff --git a/src/main/java/jota/utils/IotaUnits.java b/src/main/java/jota/utils/IotaUnits.java
index 779dde0..d94b235 100644
--- a/src/main/java/jota/utils/IotaUnits.java
+++ b/src/main/java/jota/utils/IotaUnits.java
@@ -1,9 +1,5 @@
package jota.utils;
-/**
- * Created by pinpong on 30.11.16.
- */
-
/**
* Table of IOTA units based off of the standard system of Units
**/
diff --git a/src/main/java/jota/utils/Parallel.java b/src/main/java/jota/utils/Parallel.java
index 1321cdf..f5cdeb7 100644
--- a/src/main/java/jota/utils/Parallel.java
+++ b/src/main/java/jota/utils/Parallel.java
@@ -25,7 +25,7 @@ public class Parallel {
}
public static Collection> createCallables(final Iterable elements, final Operation operation) {
- List> callables = new LinkedList>();
+ List> callables = new LinkedList<>();
for (final T elem : elements) {
callables.add(new Callable() {
@Override
@@ -39,7 +39,7 @@ public class Parallel {
return callables;
}
- public static interface Operation {
- public void perform(T pParameter);
+ public interface Operation {
+ void perform(T pParameter);
}
}
\ No newline at end of file
diff --git a/src/main/java/jota/utils/Signing.java b/src/main/java/jota/utils/Signing.java
index 728271e..ff0fe3d 100644
--- a/src/main/java/jota/utils/Signing.java
+++ b/src/main/java/jota/utils/Signing.java
@@ -64,12 +64,11 @@ public class Signing {
public int[] signatureFragment(int[] normalizedBundleFragment, int[] keyFragment) {
- int[] signatureFragment = keyFragment;
int[] hash;
for (int i = 0; i < 27; i++) {
- hash = Arrays.copyOfRange(signatureFragment, i * 243, (i + 1) * 243);
+ hash = Arrays.copyOfRange(keyFragment, i * 243, (i + 1) * 243);
for (int j = 0; j < 13 - normalizedBundleFragment[i]; j++) {
curl.reset()
@@ -78,11 +77,11 @@ public class Signing {
}
for (int j = 0; j < 243; j++) {
- signatureFragment[i * 243 + j] = hash[j];
+ System.arraycopy(hash, j, keyFragment, i * 243 + j, 1);
}
}
- return signatureFragment;
+ return keyFragment;
}
public int[] address(int[] digests) {
@@ -162,8 +161,7 @@ public class Signing {
int[] digestBuffer = digest(normalizedBundleFragments[i % 3], Converter.trits(signatureFragments[i]));
for (int j = 0; j < 243; j++) {
-
- digests[i * 243 + j] = digestBuffer[j];
+ System.arraycopy(digestBuffer, j, digests, i * 243 + j, 1);
}
}
String address = Converter.trytes(address(digests));
diff --git a/src/test/java/jota/IotaAPITest.java b/src/test/java/jota/IotaAPITest.java
index f66eb70..f34ec51 100644
--- a/src/test/java/jota/IotaAPITest.java
+++ b/src/test/java/jota/IotaAPITest.java
@@ -65,12 +65,12 @@ public class IotaAPITest {
@Before
public void createApiClientInstance() {
- iotaClient = new IotaAPI();
+ iotaClient = new IotaAPI.Builder().build();
}
@Test
public void shouldCreateIotaApiProxyInstanceWithDefaultValues() {
- IotaAPI proxy = new IotaAPI();
+ IotaAPI proxy = new IotaAPI.Builder().build();
assertThat(proxy, IsNull.notNullValue());
}