diff --git a/common/src/main/java/bisq/common/crypto/EquihashProofOfWorkService.java b/common/src/main/java/bisq/common/crypto/EquihashProofOfWorkService.java index ac947418c2..e31d1d4c45 100644 --- a/common/src/main/java/bisq/common/crypto/EquihashProofOfWorkService.java +++ b/common/src/main/java/bisq/common/crypto/EquihashProofOfWorkService.java @@ -19,16 +19,11 @@ package bisq.common.crypto; import com.google.common.primitives.Longs; -import org.apache.commons.lang3.StringUtils; - import java.util.Arrays; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - @Slf4j public class EquihashProofOfWorkService extends ProofOfWorkService { /** Rough cost of two Hashcash iterations compared to solving an Equihash-90-5 puzzle of unit difficulty. */ @@ -56,9 +51,9 @@ public class EquihashProofOfWorkService extends ProofOfWorkService { @Override public byte[] getChallenge(String itemId, String ownerId) { - checkArgument(!StringUtils.contains(itemId, '\0')); - checkArgument(!StringUtils.contains(ownerId, '\0')); - return Hash.getSha256Hash(checkNotNull(itemId) + "\0" + checkNotNull(ownerId)); + String escapedItemId = itemId.replace(" ", " "); + String escapedOwnerId = ownerId.replace(" ", " "); + return Hash.getSha256Hash(escapedItemId + ", " + escapedOwnerId); } @Override diff --git a/core/src/main/java/bisq/core/filter/FilterManager.java b/core/src/main/java/bisq/core/filter/FilterManager.java index 111269e950..469c34d46b 100644 --- a/core/src/main/java/bisq/core/filter/FilterManager.java +++ b/core/src/main/java/bisq/core/filter/FilterManager.java @@ -489,16 +489,11 @@ public class FilterManager { if (filter == null) { return true; } - checkArgument(offer.getBsqSwapOfferPayload().isPresent(), - "Offer payload must be BsqSwapOfferPayload"); + checkArgument(offer.getBsqSwapOfferPayload().isPresent(), "Offer payload must be BsqSwapOfferPayload"); ProofOfWork pow = offer.getBsqSwapOfferPayload().get().getProofOfWork(); var service = ProofOfWorkService.forVersion(pow.getVersion()); - if (!service.isPresent() || !getEnabledPowVersions().contains(pow.getVersion())) { - return false; - } - return service.get().verify(offer.getBsqSwapOfferPayload().get().getProofOfWork(), - offer.getId(), offer.getOwnerNodeAddress().toString(), - filter.getPowDifficulty()); + return service.isPresent() && getEnabledPowVersions().contains(pow.getVersion()) && + service.get().verify(pow, offer.getId(), offer.getOwnerNodeAddress().toString(), filter.getPowDifficulty()); } public List getEnabledPowVersions() { diff --git a/proto/src/main/proto/pb.proto b/proto/src/main/proto/pb.proto index 522c8714fc..b5a04d2830 100644 --- a/proto/src/main/proto/pb.proto +++ b/proto/src/main/proto/pb.proto @@ -85,8 +85,8 @@ message NetworkEnvelope { ShareBuyerPaymentAccountMessage share_buyer_payment_account_message = 54; // Added at 1.7.0 SellersBsqSwapRequest sellers_bsq_swap_request = 55; - BuyersBsqSwapRequest buyers_bsq_swap_request= 56; - BsqSwapTxInputsMessage bsq_swap_tx_inputs_message= 57; + BuyersBsqSwapRequest buyers_bsq_swap_request = 56; + BsqSwapTxInputsMessage bsq_swap_tx_inputs_message = 57; BsqSwapFinalizeTxRequest bsq_swap_finalize_tx_request = 58; BsqSwapFinalizedTxMessage bsq_swap_finalized_tx_message = 59; } @@ -770,11 +770,11 @@ message Filter { bool disable_mempool_validation = 28; bool disable_pow_message = 29; double pow_difficulty = 30; - repeated int32 enabled_pow_versions = 35; int64 maker_fee_btc = 31; int64 taker_fee_btc = 32; int64 maker_fee_bsq = 33; int64 taker_fee_bsq = 34; + repeated int32 enabled_pow_versions = 35; } // Deprecated @@ -2038,7 +2038,7 @@ message BaseBlock { } message BsqBlockStore { - repeated BaseBlock blocks = 1; + repeated BaseBlock blocks = 1; } message RawBlock {