diff --git a/src/main/java/bisq/core/app/SetupUtils.java b/src/main/java/bisq/core/app/SetupUtils.java index 53f898a4..916faf89 100644 --- a/src/main/java/bisq/core/app/SetupUtils.java +++ b/src/main/java/bisq/core/app/SetupUtils.java @@ -29,6 +29,7 @@ import bisq.common.crypto.KeyRing; import bisq.common.crypto.SealedAndSigned; import bisq.common.handlers.ResultHandler; +import bisq.common.proto.ProtobufferException; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; @@ -75,7 +76,7 @@ public void run() { } else { errorHandler.accept(new CryptoException("Payload not correct after decryption")); } - } catch (CryptoException e) { + } catch (CryptoException | ProtobufferException e) { log.error(e.toString()); e.printStackTrace(); errorHandler.accept(e); diff --git a/src/main/java/bisq/core/dao/vote/proposal/Proposal.java b/src/main/java/bisq/core/dao/vote/proposal/Proposal.java index 14570627..5a3c6f4b 100644 --- a/src/main/java/bisq/core/dao/vote/proposal/Proposal.java +++ b/src/main/java/bisq/core/dao/vote/proposal/Proposal.java @@ -21,7 +21,7 @@ import bisq.core.dao.vote.proposal.generic.GenericProposal; import bisq.core.dao.vote.result.VoteResult; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.persistable.PersistablePayload; import io.bisq.generated.protobuffer.PB; @@ -104,7 +104,7 @@ public static Proposal fromProto(PB.Proposal proto) { case GENERIC_PROPOSAL: return GenericProposal.fromProto(proto); default: - throw new ProtobufferException("Unknown message case: " + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown message case: " + proto.getMessageCase()); } } diff --git a/src/main/java/bisq/core/dao/vote/proposal/ProposalPayload.java b/src/main/java/bisq/core/dao/vote/proposal/ProposalPayload.java index 871ab712..8596f903 100644 --- a/src/main/java/bisq/core/dao/vote/proposal/ProposalPayload.java +++ b/src/main/java/bisq/core/dao/vote/proposal/ProposalPayload.java @@ -26,7 +26,7 @@ import bisq.common.app.Capabilities; import bisq.common.crypto.Sig; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.persistable.PersistablePayload; import bisq.common.util.Utilities; @@ -144,7 +144,7 @@ public static ProposalPayload fromProto(PB.ProposalPayload proto) { case GENERIC_PROPOSAL_PAYLOAD: return GenericProposalPayload.fromProto(proto); default: - throw new ProtobufferException("Unknown message case: " + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown message case: " + proto.getMessageCase()); } } diff --git a/src/main/java/bisq/core/dao/vote/result/VoteResult.java b/src/main/java/bisq/core/dao/vote/result/VoteResult.java index 2e433970..41a1f1e5 100644 --- a/src/main/java/bisq/core/dao/vote/result/VoteResult.java +++ b/src/main/java/bisq/core/dao/vote/result/VoteResult.java @@ -17,7 +17,7 @@ package bisq.core.dao.vote.result; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.network.NetworkPayload; import bisq.common.proto.persistable.PersistablePayload; @@ -39,7 +39,7 @@ public static VoteResult fromProto(PB.VoteResult proto) { case LONG_VOTE_RESULT: return LongVoteResult.fromProto(proto); default: - throw new ProtobufferException("Unknown message case: " + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown message case: " + proto.getMessageCase()); } } diff --git a/src/main/java/bisq/core/locale/TradeCurrency.java b/src/main/java/bisq/core/locale/TradeCurrency.java index 6cb2a6c9..b349785b 100644 --- a/src/main/java/bisq/core/locale/TradeCurrency.java +++ b/src/main/java/bisq/core/locale/TradeCurrency.java @@ -17,7 +17,7 @@ package bisq.core.locale; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.persistable.PersistablePayload; import io.bisq.generated.protobuffer.PB; @@ -53,7 +53,7 @@ public static TradeCurrency fromProto(PB.TradeCurrency proto) { case CRYPTO_CURRENCY: return CryptoCurrency.fromProto(proto); default: - throw new ProtobufferException("Unknown message case: " + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown message case: " + proto.getMessageCase()); } } diff --git a/src/main/java/bisq/core/proto/CoreProtoResolver.java b/src/main/java/bisq/core/proto/CoreProtoResolver.java index d21781cf..c6835b91 100644 --- a/src/main/java/bisq/core/proto/CoreProtoResolver.java +++ b/src/main/java/bisq/core/proto/CoreProtoResolver.java @@ -46,7 +46,7 @@ import bisq.core.trade.statistics.TradeStatistics2; import bisq.common.proto.ProtoResolver; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.persistable.PersistableEnvelope; import io.bisq.generated.protobuffer.PB; @@ -81,7 +81,7 @@ public PaymentAccountPayload fromProto(PB.PaymentAccountPayload proto) { case SPECIFIC_BANKS_ACCOUNT_PAYLOAD: return SpecificBanksAccountPayload.fromProto(proto); default: - throw new ProtobufferException("Unknown proto message case" + + throw new ProtobufferRuntimeException("Unknown proto message case" + "(PB.PaymentAccountPayload.CountryBasedPaymentAccountPayload.BankAccountPayload). " + "messageCase=" + messageCaseBank); } @@ -94,7 +94,7 @@ public PaymentAccountPayload fromProto(PB.PaymentAccountPayload proto) { case SEPA_INSTANT_ACCOUNT_PAYLOAD: return SepaInstantAccountPayload.fromProto(proto); default: - throw new ProtobufferException("Unknown proto message case" + + throw new ProtobufferRuntimeException("Unknown proto message case" + "(PB.PaymentAccountPayload.CountryBasedPaymentAccountPayload)." + " messageCase=" + messageCaseCountry); } @@ -125,11 +125,11 @@ public PaymentAccountPayload fromProto(PB.PaymentAccountPayload proto) { case U_S_POSTAL_MONEY_ORDER_ACCOUNT_PAYLOAD: return USPostalMoneyOrderAccountPayload.fromProto(proto); default: - throw new ProtobufferException("Unknown proto message case(PB.PaymentAccountPayload). messageCase=" + messageCase); + throw new ProtobufferRuntimeException("Unknown proto message case(PB.PaymentAccountPayload). messageCase=" + messageCase); } } else { log.error("PersistableEnvelope.fromProto: PB.PaymentAccountPayload is null"); - throw new ProtobufferException("PB.PaymentAccountPayload is null"); + throw new ProtobufferRuntimeException("PB.PaymentAccountPayload is null"); } } @@ -142,11 +142,11 @@ public PersistableEnvelope fromProto(PB.PersistableNetworkPayload proto) { case TRADE_STATISTICS2: return TradeStatistics2.fromProto(proto.getTradeStatistics2()); default: - throw new ProtobufferException("Unknown proto message case (PB.PersistableNetworkPayload). messageCase=" + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown proto message case (PB.PersistableNetworkPayload). messageCase=" + proto.getMessageCase()); } } else { log.error("PB.PersistableNetworkPayload is null"); - throw new ProtobufferException("PB.PersistableNetworkPayload is null"); + throw new ProtobufferRuntimeException("PB.PersistableNetworkPayload is null"); } } } diff --git a/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java b/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java index 5a269676..259805e4 100644 --- a/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java +++ b/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java @@ -62,6 +62,7 @@ import bisq.network.p2p.storage.payload.ProtectedStorageEntry; import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.network.NetworkEnvelope; import bisq.common.proto.network.NetworkPayload; import bisq.common.proto.network.NetworkProtoResolver; @@ -72,6 +73,7 @@ import lombok.extern.slf4j.Slf4j; +// TODO Use ProtobufferException instead of ProtobufferRuntimeException @Slf4j public class CoreNetworkProtoResolver extends CoreProtoResolver implements NetworkProtoResolver { @@ -80,7 +82,7 @@ public CoreNetworkProtoResolver() { } @Override - public NetworkEnvelope fromProto(PB.NetworkEnvelope proto) { + public NetworkEnvelope fromProto(PB.NetworkEnvelope proto) throws ProtobufferException { if (proto != null) { final int messageVersion = proto.getMessageVersion(); switch (proto.getMessageCase()) { @@ -154,7 +156,8 @@ public NetworkEnvelope fromProto(PB.NetworkEnvelope proto) { case ADD_PERSISTABLE_NETWORK_PAYLOAD_MESSAGE: return AddPersistableNetworkPayloadMessage.fromProto(proto.getAddPersistableNetworkPayloadMessage(), this, messageVersion); default: - throw new ProtobufferException("Unknown proto message case (PB.NetworkEnvelope). messageCase=" + proto.getMessageCase()); + throw new ProtobufferException("Unknown proto message case (PB.NetworkEnvelope). messageCase=" + + proto.getMessageCase() + "; proto raw data=" + proto.toString()); } } else { log.error("PersistableEnvelope.fromProto: PB.NetworkEnvelope is null"); @@ -170,11 +173,12 @@ public NetworkPayload fromProto(PB.StorageEntryWrapper proto) { case PROTECTED_STORAGE_ENTRY: return ProtectedStorageEntry.fromProto(proto.getProtectedStorageEntry(), this); default: - throw new ProtobufferException("Unknown proto message case(PB.StorageEntryWrapper). messageCase=" + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown proto message case(PB.StorageEntryWrapper). " + + "messageCase=" + proto.getMessageCase() + "; proto raw data=" + proto.toString()); } } else { log.error("PersistableEnvelope.fromProto: PB.StorageEntryWrapper is null"); - throw new ProtobufferException("PB.StorageEntryWrapper is null"); + throw new ProtobufferRuntimeException("PB.StorageEntryWrapper is null"); } } @@ -201,11 +205,12 @@ public NetworkPayload fromProto(PB.StoragePayload proto) { case BLIND_VOTE: return BlindVote.fromProto(proto.getBlindVote()); default: - throw new ProtobufferException("Unknown proto message case (PB.StoragePayload). messageCase=" + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown proto message case (PB.StoragePayload). messageCase=" + + proto.getMessageCase() + "; proto raw data=" + proto.toString()); } } else { log.error("PersistableEnvelope.fromProto: PB.StoragePayload is null"); - throw new ProtobufferException("PB.StoragePayload is null"); + throw new ProtobufferRuntimeException("PB.StoragePayload is null"); } } } diff --git a/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java b/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java index a60553de..d189fcf9 100644 --- a/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java +++ b/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java @@ -36,7 +36,7 @@ import bisq.network.p2p.storage.PersistedEntryMap; import bisq.network.p2p.storage.SequenceNumberMap; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.network.NetworkProtoResolver; import bisq.common.proto.persistable.NavigationPath; import bisq.common.proto.persistable.PersistableEnvelope; @@ -54,6 +54,7 @@ import lombok.extern.slf4j.Slf4j; +// TODO Use ProtobufferException instead of ProtobufferRuntimeException @Slf4j public class CorePersistenceProtoResolver extends CoreProtoResolver implements PersistenceProtoResolver { private final Provider btcWalletService; @@ -89,7 +90,7 @@ public PersistableEnvelope fromProto(PB.PersistableEnvelope proto) { new Storage<>(storageDir, this), btcWalletService.get()); case TRADE_STATISTICS_LIST: - throw new ProtobufferException("TRADE_STATISTICS_LIST is not used anymore"); + throw new ProtobufferRuntimeException("TRADE_STATISTICS_LIST is not used anymore"); case DISPUTE_LIST: return DisputeList.fromProto(proto.getDisputeList(), this, @@ -116,11 +117,12 @@ public PersistableEnvelope fromProto(PB.PersistableEnvelope proto) { return ParamChangeEventList.fromProto(proto.getParamChangeEventList()); default: - throw new ProtobufferException("Unknown proto message case(PB.PersistableEnvelope). messageCase=" + proto.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown proto message case(PB.PersistableEnvelope). " + + "messageCase=" + proto.getMessageCase() + "; proto raw data=" + proto.toString()); } } else { log.error("PersistableEnvelope.fromProto: PB.PersistableEnvelope is null"); - throw new ProtobufferException("PB.PersistableEnvelope is null"); + throw new ProtobufferRuntimeException("PB.PersistableEnvelope is null"); } } } diff --git a/src/main/java/bisq/core/trade/TradableList.java b/src/main/java/bisq/core/trade/TradableList.java index f43ff474..37fd1f00 100644 --- a/src/main/java/bisq/core/trade/TradableList.java +++ b/src/main/java/bisq/core/trade/TradableList.java @@ -22,7 +22,7 @@ import bisq.core.proto.CoreProtoResolver; import bisq.common.proto.ProtoUtil; -import bisq.common.proto.ProtobufferException; +import bisq.common.proto.ProtobufferRuntimeException; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.storage.Storage; @@ -104,7 +104,7 @@ public static TradableList fromProto(PB.TradableList proto, return SellerAsTakerTrade.fromProto(tradable.getSellerAsTakerTrade(), storage, btcWalletService, coreProtoResolver); default: log.error("Unknown messageCase. tradable.getMessageCase() = " + tradable.getMessageCase()); - throw new ProtobufferException("Unknown messageCase. tradable.getMessageCase() = " + tradable.getMessageCase()); + throw new ProtobufferRuntimeException("Unknown messageCase. tradable.getMessageCase() = " + tradable.getMessageCase()); } }) .collect(Collectors.toList());