[bisq-network/bisq] Fix required opt validation bugs in CLI (#5274)

Stan notifications at github.com
Thu Mar 4 17:14:36 CET 2021


Many required CLI opt checks were incorrectly passing due to assignment of `""` default values.  Server side validation was helping cover up some of affects of this type of bug, but this change resolves the issue in the CLI side.

Credit to @BtcContributor for exposing the problem while beta testing the api.

Changes are listed below.

Unsets empty string default values on some the `createoffer` method's required option declarations in CreateOfferOptionParser, and adds a check for presence of required currency-code option.

- Removes default "" value from required opt direction.
- Removes default "" value from required opt currency-code.
- Removes default "" value from required opt amount.
- Removes default "" value from required opt min-amount.
- Removes default "" value from required opt fixed-price.
- Removes default "" value from required opt security-deposit.
- Check for required currency-code option.

Unsets empty string default values on some of the `takeoffer` method's required option declarations in TakeOfferOptionParser.

- Removes default "" value from required opt offer-id.
- Removes default "" value from required opt payment-account.

Other opt parser default values removed from:

- CancelOfferOptionParser#offer-id
- CreatePaymentAcctOptionParser#payment-account-form
- GetAddressBalanceOptionParser#address
- GetBTCMarketPriceOptionParser#currency-code
- GetOfferOptionParser#offer-id
- GetOffersOptionParser#direction
- GetOffersOptionParser#currency-code
- GetPaymentAcctFormOptionParser#payment-method-id
- GetTradeOptionParser#trade-id
- GetTransactionOptionParser#transaction-id
- RegisterDisputeAgentOptionParser#registration-key
- RegisterDisputeAgentOptionParser#dispute-agent-type
- RemoveWalletPasswordOptionParser#wallet-password
- SendBsqOptionParser#address
- SendBsqOptionParser#amount
- SendBtcOptionParser#address
- SendBtcOptionParser#amount
- SetTxFeeRateOptionParser#tx-fee-rate
- SetWalletPasswordOptionParser#wallet-password
- UnlockWalletOptionParser#wallet-password
- UnlockWalletOptionParser#timeout
- WithdrawFundsOptionParser#trade-id
- WithdrawFundsOptionParser#address

PR https://github.com/bisq-network/bisq/pull/5273 should be reviewed & merged before this one.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Display buyer's cost in api's gettrade output
  * Merge branch 'master' into 01-show-cost-in-trade-output
  * Use the logger of the gRPC service throwing an exception
  * Permit some gRPC excptions to be logged only as warning
  * Log 'trade not found' a warning instead of full stack trace
  * Fix test bug
  * Clean up call rate meter config file in test teardown
  * Fix test bug
  * Fix call rate metering interceptor bug
  * Make test call rate = default call rate
  * No need to wait, default+test call rate > 2x / second
  * Remove unused import
  * Adjust mainnet bats test to default rate meter interceptors
  * Wait 3 secs after removing password (for wallet save)
  * Fix getunusedbsqaddress test
  * Improve interceptor's rate metering key definition and lookup
  * Fix CLI number opt validation, improve server-not-up msg
  * Fix tx-fee-rate formatting (and math) bug in cli/CurrencyFormat
  * Remove warning supression
  * Add link to api-beta-test-guide.md
  * Explain how to manually register test dispute agents
  * Fix opt validation bugs in CLI

-- File Changes --

    M apitest/docs/README.md (1)
    M apitest/docs/api-beta-test-guide.md (19)
    M apitest/scripts/mainnet-test.sh (22)
    M apitest/scripts/trade-simulation-utils.sh (12)
    M apitest/src/test/java/bisq/apitest/ApiTestCase.java (54)
    M apitest/src/test/java/bisq/apitest/method/CallRateMeteringInterceptorTest.java (41)
    M apitest/src/test/java/bisq/apitest/method/MethodTest.java (3)
    M apitest/src/test/java/bisq/apitest/scenario/StartupTest.java (12)
    M cli/src/main/java/bisq/cli/CliMain.java (42)
    M cli/src/main/java/bisq/cli/ColumnHeaderConstants.java (10)
    M cli/src/main/java/bisq/cli/CurrencyFormat.java (5)
    M cli/src/main/java/bisq/cli/TradeFormat.java (33)
    M cli/src/main/java/bisq/cli/opts/CancelOfferOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/CreateOfferOptionParser.java (20)
    M cli/src/main/java/bisq/cli/opts/CreatePaymentAcctOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetAddressBalanceOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetBTCMarketPriceOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetOfferOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetOffersOptionParser.java (7)
    M cli/src/main/java/bisq/cli/opts/GetPaymentAcctFormOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetTradeOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/GetTransactionOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/RegisterDisputeAgentOptionParser.java (7)
    M cli/src/main/java/bisq/cli/opts/RemoveWalletPasswordOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/SendBsqOptionParser.java (6)
    M cli/src/main/java/bisq/cli/opts/SendBtcOptionParser.java (6)
    M cli/src/main/java/bisq/cli/opts/SetTxFeeRateOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/SetWalletPasswordOptionParser.java (3)
    M cli/src/main/java/bisq/cli/opts/TakeOfferOptionParser.java (7)
    M cli/src/main/java/bisq/cli/opts/UnlockWalletOptionParser.java (4)
    M cli/src/main/java/bisq/cli/opts/WithdrawFundsOptionParser.java (9)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcDisputeAgentsService.java (13)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcExceptionHandler.java (18)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcGetTradeStatisticsService.java (12)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcHelpService.java (9)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcOffersService.java (28)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcPaymentAccountsService.java (24)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcPriceService.java (9)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcShutdownService.java (2)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcTradesService.java (32)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcVersionService.java (9)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcWalletsService.java (60)
    M daemon/src/main/java/bisq/daemon/grpc/interceptor/CallRateMeteringInterceptor.java (22)
    M daemon/src/main/java/bisq/daemon/grpc/interceptor/GrpcCallRateMeter.java (5)
    M daemon/src/test/java/bisq/daemon/grpc/interceptor/GrpcServiceRateMeteringConfigTest.java (2)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/5274.patch
https://github.com/bisq-network/bisq/pull/5274.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/5274
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210304/c4986c93/attachment-0001.htm>


More information about the bisq-github mailing list