[bisq-network/bisq] Refactor gRPC service error handling (#4960)

Stan notifications at github.com
Wed Dec 16 17:50:15 CET 2020


This change reduces gRPC service error handling duplication by moving it to a `@Singleton CoreApiExceptionHandler `encapsulating everything needed to map an expected or unexpected core api exception to a `gRPC StatusRuntimeException` before sending it to the client.  It also fixes some cases were gRPC error handling was missing.

This is the 9th in a chain of PRs beginning with https://github.com/bisq-network/bisq/pull/4884.
PR https://github.com/bisq-network/bisq/pull/4948 should be reviewed before this one.

You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/4960

-- Commit Summary --

  * Refactor BtcWalletService to let api override fee rates
  * Merge branch 'master' into 02-refactor-completePreparedSendBsqTx
  * Add optional txFeeRate parameter to api sendbsq
  * Merge branch 'master' into 03-add-txFeeRate-param
  * Add new api method 'sendbtc' and test
  * Merge branch 'master' into 04-add-sendbtc-impl
  * Support tx memo field for btc withdrawals from api
  * Remove unused imports
  * Merge branch 'master' into 05-use-memo-tx-field
  * Use Bisq's UserThread.executor in gRPC server
  * Append nullable withdrawalTxId field to Trade proto message
  * Add new api method gettransaction
  * Merge branch 'master' into 08-scratch
  * Adjust create TransferwiseAccount test
  * Disable method test to avoid repetition
  * Merge branch 'master' into 09-scratch
  * Add new CoreApiExceptionHandler to gRPC services
  * Merge branch 'master' into 09-refactor-grpc-error-handling

-- File Changes --

    M apitest/src/test/java/bisq/apitest/method/MethodTest.java (73)
    M apitest/src/test/java/bisq/apitest/method/payment/CreatePaymentAccountTest.java (6)
    M apitest/src/test/java/bisq/apitest/method/trade/AbstractTradeTest.java (10)
    M apitest/src/test/java/bisq/apitest/method/trade/TakeSellBTCOfferTest.java (22)
    M apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java (2)
    M apitest/src/test/java/bisq/apitest/method/wallet/BtcWalletTest.java (49)
    M apitest/src/test/java/bisq/apitest/scenario/TradeTest.java (1)
    M apitest/src/test/java/bisq/apitest/scenario/WalletTest.java (1)
    M cli/src/main/java/bisq/cli/CliMain.java (125)
    M cli/src/main/java/bisq/cli/ColumnHeaderConstants.java (10)
    M cli/src/main/java/bisq/cli/TradeFormat.java (33)
    A cli/src/main/java/bisq/cli/TransactionFormat.java (59)
    M core/src/main/java/bisq/core/api/CoreApi.java (26)
    M core/src/main/java/bisq/core/api/CoreTradesService.java (25)
    M core/src/main/java/bisq/core/api/CoreWalletsService.java (126)
    M core/src/main/java/bisq/core/api/model/TradeInfo.java (11)
    A core/src/main/java/bisq/core/api/model/TxInfo.java (160)
    M core/src/main/java/bisq/core/btc/wallet/BsqTransferService.java (5)
    M core/src/main/java/bisq/core/btc/wallet/BtcWalletService.java (47)
    M core/src/main/java/bisq/core/dao/governance/bond/lockup/LockupTxService.java (2)
    M core/src/main/java/bisq/core/dao/governance/bond/unlock/UnlockTxService.java (2)
    M core/src/main/java/bisq/core/trade/Trade.java (7)
    M core/src/main/java/bisq/core/trade/TradeManager.java (1)
    A daemon/src/main/java/bisq/daemon/grpc/CoreApiExceptionHandler.java (93)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcDisputeAgentsService.java (16)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcGetTradeStatisticsService.java (23)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcOffersService.java (48)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcPaymentAccountsService.java (46)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcPriceService.java (12)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcServer.java (2)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcTradesService.java (45)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcVersionService.java (14)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcWalletsService.java (180)
    M desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java (4)
    M proto/src/main/proto/grpc.proto (83)
    M proto/src/main/proto/pb.proto (1)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/4960.patch
https://github.com/bisq-network/bisq/pull/4960.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/4960
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20201216/d6331262/attachment-0001.htm>


More information about the bisq-github mailing list