[bisq-network/bisq] Add 'takeoffer' api method (#4667)

Stan notifications at github.com
Sun Oct 18 21:09:04 UTC 2020


This is the first trade protocol method implementation.  

https://github.com/bisq-network/bisq/pull/4666 needs to be reviewed and merged before this PR.

The changes needing the most scrutiny are in the new `bisq.core.offer.takeoffer.TakeOfferModel`, which duplicates some logic in `bisq.desktop.main.offer.takeoffer.TakeOfferDataModel` that could not be moved into  `:core` due to JFX dependencies.

Changes include:

- Adding new Trades service to `grpc.proto`.

- Adding new `CoreTradeService` and `GrpcOffersService`.

- Adding two utility methods to `OfferUtil`, instead of including  them in  `TakeOfferModel`.

- Adding light proto wrapper `bisq.core.api.model.TradeInfo`.

- Moving static `toOfferInfo` from `GrpcOffersService` to `OfferInfo`.

- Adding new `TakeOffer` test and some refactoring of offer test classes.

Additional api methods to implement trade protocol steps and check trade status will be added in some of the next PRs.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Refactor OfferUtil into an injected service
  * Reformat, tidy up OfferUtil
  * Add license comment, reformat CoinUtilTest
  * Reformat desktop createoffer view & data model tests
  * Reformat desktop EditOfferDataModelTest
  * Resolve argument reassignment issue (found by codacy)
  * Remove unused final fields (found by codacy)
  * Move utility logic from desktop offer models to OfferUtil
  * Remove unused fields and imports
  * Add 'takeoffer' api method

-- File Changes --

    M apitest/src/test/java/bisq/apitest/method/MethodTest.java (16)
    R apitest/src/test/java/bisq/apitest/method/offer/AbstractOfferTest.java (58)
    M apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingFixedPriceTest.java (2)
    M apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingMarketPriceMarginTest.java (2)
    A apitest/src/test/java/bisq/apitest/method/offer/TakeOfferTest.java (91)
    M apitest/src/test/java/bisq/apitest/method/offer/ValidateCreateOfferTest.java (2)
    M cli/src/main/java/bisq/cli/CliMain.java (20)
    M cli/src/main/java/bisq/cli/GrpcStubs.java (3)
    M core/src/main/java/bisq/core/api/CoreApi.java (23)
    A core/src/main/java/bisq/core/api/CoreTradesService.java (98)
    M core/src/main/java/bisq/core/api/model/OfferInfo.java (41)
    A core/src/main/java/bisq/core/api/model/TradeInfo.java (214)
    M core/src/main/java/bisq/core/offer/CreateOfferService.java (37)
    D core/src/main/java/bisq/core/offer/MakerFeeProvider.java (29)
    M core/src/main/java/bisq/core/offer/Offer.java (5)
    M core/src/main/java/bisq/core/offer/OfferUtil.java (401)
    A core/src/main/java/bisq/core/offer/takeoffer/TakeOfferModel.java (288)
    M core/src/main/java/bisq/core/payment/PaymentAccount.java (24)
    M core/src/main/java/bisq/core/trade/Contract.java (6)
    M core/src/main/java/bisq/core/trade/Trade.java (6)
    M core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java (4)
    A core/src/main/java/bisq/core/util/VolumeUtil.java (50)
    M core/src/main/java/bisq/core/util/coin/CoinUtil.java (109)
    D core/src/test/java/bisq/core/util/CoinCryptoUtilsTest.java (60)
    R core/src/test/java/bisq/core/util/coin/CoinUtilTest.java (56)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcOffersService.java (29)
    M daemon/src/main/java/bisq/daemon/grpc/GrpcServer.java (4)
    A daemon/src/main/java/bisq/daemon/grpc/GrpcTradesService.java (87)
    D desktop/src/main/java/bisq/desktop/main/offer/MakerFeeProvider.java (13)
    M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java (94)
    M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java (2)
    M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java (31)
    M desktop/src/main/java/bisq/desktop/main/offer/OfferDataModel.java (26)
    M desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModel.java (6)
    M desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModel.java (6)
    M desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBook.java (7)
    M desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java (22)
    M desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java (33)
    M desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java (6)
    M desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferViewModel.java (6)
    M desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModelTest.java (36)
    M desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java (44)
    M desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java (29)
    M proto/src/main/proto/grpc.proto (47)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/4667.patch
https://github.com/bisq-network/bisq/pull/4667.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/4667
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20201018/840ab7a8/attachment-0001.html>


More information about the bisq-github mailing list