From c4ab8522831467fcff1db72b42d2ea39239e19c6 Mon Sep 17 00:00:00 2001 From: pinpong Date: Sat, 21 Jan 2017 23:33:16 +0100 Subject: [PATCH] fixed timestamp --- src/main/java/jota/IotaAPI.java | 16 +++++----------- src/main/java/jota/model/Bundle.java | 10 ++-------- src/main/java/jota/utils/InputValidator.java | 12 ++++++++---- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/main/java/jota/IotaAPI.java b/src/main/java/jota/IotaAPI.java index 13ea298..e41b10d 100644 --- a/src/main/java/jota/IotaAPI.java +++ b/src/main/java/jota/IotaAPI.java @@ -359,9 +359,8 @@ public class IotaAPI extends IotaAPICoreProxy { msgCopy = StringUtils.substring(msgCopy, 2187, msgCopy.length()); // Pad remainder of fragment - for (int j = 0; fragment.length() < 2187; j++) { - fragment += "9"; - } + + fragment = StringUtils.rightPad(fragment, 2187, '9'); signatureFragments.add(fragment); } @@ -369,9 +368,7 @@ public class IotaAPI extends IotaAPICoreProxy { // Else, get single fragment with 2187 of 9's trytes String fragment = StringUtils.substring(transfer.getMessage(), 0, 2187); - for (int j = 0; fragment.length() < 2187; j++) { - fragment += '9'; - } + fragment = StringUtils.rightPad(fragment, 2187, '9'); signatureFragments.add(fragment); } @@ -383,9 +380,7 @@ public class IotaAPI extends IotaAPICoreProxy { tag = transfer.getTag().isEmpty() ? "999999999999999999999999999" : transfer.getTag(); // Pad for required 27 tryte length - for (int j = 0; tag.length() < 27; j++) { - tag += '9'; - } + tag = StringUtils.rightPad(tag, 27, '9'); // Add first entry to the bundle bundle.addEntry(signatureMessageLength, transfer.getAddress(), transfer.getValue(), tag, timestamp); @@ -551,7 +546,6 @@ public class IotaAPI extends IotaAPICoreProxy { } if (thresholdReached) { - long duration = stopWatch.getElapsedTimeMili(); return GetBalancesAndFormatResponse.create(inputs, totalBalance, stopWatch.getElapsedTimeMili()); } throw new IllegalStateException("Not enough balance"); @@ -794,7 +788,7 @@ public class IotaAPI extends IotaAPICoreProxy { long thisBalance = inputs.get(i).getBalance(); long totalTransferValue = totalValue; long toSubtract = 0 - thisBalance; - long timestamp = (new Date()).getTime(); + long timestamp = (long) Math.floor(Calendar.getInstance().getTimeInMillis() / 1000); // Add input as bundle entry bundle.addEntry(2, inputs.get(i).getAddress(), toSubtract, tag, timestamp); diff --git a/src/main/java/jota/model/Bundle.java b/src/main/java/jota/model/Bundle.java index e445627..a296cb8 100644 --- a/src/main/java/jota/model/Bundle.java +++ b/src/main/java/jota/model/Bundle.java @@ -3,6 +3,7 @@ package jota.model; import jota.pow.ICurl; import jota.pow.JCurl; import jota.utils.Converter; +import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; @@ -31,10 +32,6 @@ public class Bundle implements Comparable { return transactions; } - public void setTransactions(List transactions) { - this.transactions = transactions; - } - public int getLength() { return length; } @@ -49,7 +46,6 @@ public class Bundle implements Comparable { } for (int i = 0; i < signatureMessageLength; i++) { - List transactions = new ArrayList<>(getTransactions()); Transaction trx = new Transaction(address, String.valueOf(i == 0 ? value : 0), tag, String.valueOf(timestamp)); getTransactions().add(trx); } @@ -89,9 +85,7 @@ public class Bundle implements Comparable { String emptySignatureFragment = ""; String emptyHash = EMPTY_HASH; - for (int j = 0; emptySignatureFragment.length() < 2187; j++) { - emptySignatureFragment += '9'; - } + emptySignatureFragment = StringUtils.rightPad(emptySignatureFragment, 2187, '9'); for (int i = 0; i < this.getTransactions().size(); i++) { diff --git a/src/main/java/jota/utils/InputValidator.java b/src/main/java/jota/utils/InputValidator.java index 226363f..4e01cd4 100644 --- a/src/main/java/jota/utils/InputValidator.java +++ b/src/main/java/jota/utils/InputValidator.java @@ -1,10 +1,11 @@ package jota.utils; -import java.util.List; - import jota.model.Transfer; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; +import java.util.List; + /** * Created by pinpong on 02.12.16. */ @@ -82,8 +83,11 @@ public class InputValidator { } public static String validateSeed(String seed) { - if (seed.length() > 81) return null; - while (seed.length() < 81) seed += 9; + if (seed.length() > 81) + return null; + + seed = StringUtils.rightPad(seed, 81, '9'); + return seed; } }