Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes suggested in PRs 4672,4673,4674,4675 #4679

Merged
merged 9 commits into from
Oct 22, 2020

Conversation

ghubstan
Copy link
Contributor

This PR includes changes suggested during review of PR chain #4672 -> #4673 -> #4674 -> #4675.

Changes requested in those PRs are made here.

These refactoring changes are for reducing existing and potential
duplication coming with the addition of new trading protocol support
in the gRPC API.  Some minor styling and logic simplification changes
are also include.

- Convert OfferUtil to injected singleton, and move various offer related
  utility methods into it.

- Delete both MakerFeeProvider classes, which were wrappers around the same
  static old OfferUtil method.

- Inject OfferUtil into CreateOfferDataModel, CreateOfferViewModel,
  TakeOfferDataModel, TakeOfferViewModel, MutableOfferDataModel,
  MutableOfferViewModel, OfferDataModel, EditOfferDataModel,
  EditOfferViewModel

- Refactor TakeOfferViewModel

	Use OfferUtil, remove unused fields & methods.
	Made minor logic simplification, style and formatting changes.

- MutableOfferDataModel

	Made minor logic simplification, style and formatting changes.

- MutableOfferView uses new paymentAccount.isHalCashAccount().

- MutableOfferViewModel

	Refactored to use new VolumeUtil, CoinUtil, OfferUtil.
	Removed unused fields & accessors.
	Made minor style change.

- Refactored OfferDataModel to use new OfferUtil

- Refactor CreateOfferService

	Inject and use OfferUtil
	Move some utility methods to OfferUtil
	Remove unused fields

- Offer

	Refactored to use new VolumeUtil for volume calculations.
	Made stateProperty and errorMessageProperty fields private.

- PaymentAccount

	Moved isHalCashAccount type check to this class.
	Moved getTradeCurrency logic to this class.

- Contract, radeStatistics2, TradeStatistics3

	Refactored to use new VolumeUtil for volume calculations.

- Trade

	Refactored to use new VolumeUtil for volume calculations.
	Made minor logic simplification, style and formatting changes.

- CoinUtil

	Moved some coin utility methods into this class

- CoinUtilTest

	Moved (coin related) tests from CoinCryptoUtilsTest and OfferUtilTest
	into CoinUtilTest, and deleted OfferUtilTest, CoinCryptoUtilsTest.

- Adjust create and edit offer tests to model refactoring
- Add new core.offer.takeoffer.TakeOfferModel

	Would have been nice to move more logic from
	bisq.desktop.main.offer.takeoffer.TakeOfferDataModel,
	but it has JFX dependencies that cannot be use in :core.

- Add grpc protos to support takeoffer, confirmpaymentsent, confirmpaymentreceived

	Only takeoffer is implemented in this commit.

- Refactor OfferInfo grpc proto wrapper, and add offer state field

- Add new TradeInfo grpc proto wrapper

- Implement takeoffer on server and cli side

- Refactor offer/trade tests, add test cases
- Implement confirmpaymentsent on server and cli side

- Enable confirmpaymentsent method tests
- Implement confirmpaymentsent on server and cli side

- Enable confirmpaymentreceived method tests
@ghubstan ghubstan changed the title [Draft] Changes suggested in PRs 4672,4673,4674,4675 Changes suggested in PRs 4672,4673,4674,4675 Oct 21, 2020
@ghubstan ghubstan marked this pull request as ready for review October 21, 2020 18:11
Resolves issue found during bisq-network#4673
review, and mentioned in comment
bisq-network#4673 (comment)
Resolves issue found during bisq-network#4673
review, and suggested in comment
bisq-network#4673 (comment)
Resolves issue found during bisq-network#4673
review, and suggested in comment
bisq-network#4673 (comment)

Also shortened comment lines to < 90 chars.
Resolves issue found during bisq-network#4673
review, and suggested in comment
bisq-network#4673 (comment)
Copy link
Member

@sqrrm sqrrm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@sqrrm sqrrm merged commit 0e7070a into bisq-network:master Oct 22, 2020
@ghubstan ghubstan deleted the 5-suggested-changes branch October 22, 2020 15:19
@ghubstan
Copy link
Contributor Author

I think some kind of callback or other way to check that TakeOfferModel is properly initialized might be needed. That should then be set once the fee request is processed, together with whatever other async settings there are.

#4692 is a proposed fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants