-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Reverse last BsqSendView change (446bd32) #4839
Closed
ghubstan
wants to merge
50
commits into
bisq-network:master
from
ghubstan:20-revert-last-bsqsendview-changes
Closed
Reverse last BsqSendView change (446bd32) #4839
ghubstan
wants to merge
50
commits into
bisq-network:master
from
ghubstan:20-revert-last-bsqsendview-changes
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change adds proto serivces and messages to support new api implementations for serving bsq, btc or all wallet balances. - RPC GetBsqBalances will return complete BSQ balance info. - Message BsqBalanceInfo is proto returned by rpc GetBsqBalances. - RPC GetBtcBalances wil return complete BTC balance info. - Message BtcBalanceInfo is proto returned by rpc GetBtcBalances. - RPC GetBalances returns complete BTC and BSQ balance info. - Message BalancesInfo is proto returned by rpc GetBalances. RPC GetBalance remains unchnaged, still returns only the available BTC balance. It may be deprecated and removed in a future PR.
This change adds proto wrappers for sending bsq, btc, or all balances to the CLI. They will be used in future api method implementations: getbsqbalance, getbtcbalance and getbalances.
This change adds a proto to support a future api implementation for getting an unused, bsq funding address.
This change adds the proto to support a future api implementation for transfering bsq.
This change adds proto support for paying maker fees in bsq or btc. The implementation will come in a future PR. - Added makerFeeCurrencyCode field to CreateOfferRequest proto. - Added isCurrencyForMakerFeeBtc field to OfferInfo proto wrapper. - Add takerFeeCurrencyCode field to TakeOfferRequest proto.
- Added new method to CLI, split some long msg strings into two lines, and added a white space after a braceless else statement. - Added the gRPC server boilerplate. - Added the core implementation. - Added a test, and moved method wallet tests into their own package.
- Added three new methods to CLI: getbalances ... returns complete bsq and btc balance info getbsqbalance ... returns complete bsq balance info getbtcbalance ... returns complete btc balance info The old getbalance method is deprecated and will be removed if there is agreement to do that. - Made the needed changes in the CLI's output formatting classes. - Added new tests to existing BsqWalletTest, added new BtcWalletTest and WalletBalancesTest. - Added disabled tests for funding a bsq wallet (todo in next PR).
All the boilerplate for this method is included in this change, but the implementation in CoreWalletsService#sendBsq is commented out until the needed logic to send bsq is refactored out of desktop's BsqSendView class -- to be included in the next PR. - Added new method to CLI. - Added the gRPC server boilerplate. - Added the core implementation, commented out. - Enabled tests.
Moved just enough code out of BsqSendView to avoid desktop/api 'sendbsq' duplication, at the cost of adding 1 new method to BsqSendView. - Created new BsqTransferModel to hold tx details shared by desktop and api. - Created new BsqTransferService to send bsq using a BsqTransferModel shared by desktop and api. - Uncommented CoreWalletsService#sendBsq implementation. - Uncommented sendbsq tests.
- Add optional makerFeeCurrencyCode argument to CLI's 'createoffer'. - Add optional takerFeeCurrencyCode argument to CLI's 'takeoffer'. - Add isCurrencyForMakerFeeBtc field to OfferInfo proto wrapper. - Pass fee currency argument down to CoreOffersService and CoreTradesService's create and take offer methods. - Add maybeSetFeePaymentCurrencyPreference method to OfferUtil to conditionally set the 'payFeeInBtc' preference before creating or taking an offer. - Adjust affected tests.
This change fixes the recently bloated wallet balances api. Now there is one CLI getbalance [bsq|btc] method that calls a getbalances(currency-code) on the server. The server returns full wallet balance information for BSQ, BTC, or both if the CLI's currency argument is absent. - grpc.proto: Reduced number of getbalance(s) proto services from four to one. - GrpcWalletsService: Reduced number of getbalance(s) gRPC service boilerplate methods from four to one. - CoreApi, CoreWalletsService: Reduced number of getbalance(s) gRPC service implementation methods from four to one. - CliMain: Reduced number of getbalance(s) commands from four to one. - BalancesInfo: Changed BsqBalanceInfo & BtcBalanceInfo field names to bsq and btc, respectively, to make calling their accessors more readable, less verbose. - BtcBalanceInfo, BsqBalanceInfo: Defined static final EMPTY instances as place holders in a BalancesInfo returned by the gRPC server, when one or the other balance types is not requested. Would be nice to serve Optional.empty() instead, but protobuf does not support it or null. - Adjusted affected api tests and build doc.
Returns a list of supported payment method IDs. This gives CLI users the correct payment method id for creating a new payment account. - Added gRPC service GetPaymentMethods to grpc.proto. - Added gRPC boilerplate method to GrpcPaymentAccountsService. - Added implimentation to CoreApi -> CorePaymentAccountsService. - Refactored PaymentAccountTest hierarchy. - Add api method to CLI.
Had to change the getPaymentMethods() names to getPaymentMethodIds() to avoid this codacy issue: "Unnecessary use of fully qualified name 'PaymentMethod.getPaymentMethods' due to existing static import 'bisq.core.payment.payload.PaymentMethod.*'" If 'PaymentMethod.getPaymentMethods' was changed to 'getPaymentMethods', a recursive loop would result, ending in an out of stack heap crash. This renaming of the method on the server is correct, but the CLI's 'getpaymentmethods' name was not changed.
This reverts commit a465261. The service side method name change is not correct.
Changed the core getPaymentMethods() -> getFiatPaymentMethods() to avoid "Unnecessary use of fully qualified name 'PaymentMethod.getPaymentMethods' due to existing static import 'bisq.core.payment.payload.PaymentMethod.*'"
This class will aid the api's (create) PaymentAccount json form serialization/de-serialization.
This class does most of the work of the api's (create) PaymentAccount json form serialization/de-serialization.
This class uses the gson PaymentAccountTypeAdapter to generate editable json forms for PaymentAccount sub-types, and instantiate PaymentAccount instances from edited json forms.
In the CLI, this method now takes a single argument, the path to a json file (a payment account form). The json text is read from the file and sent to the server, where it is serialized to a new PaymentAccount instance, saved, and sent back to the CLI as a protobuf.PaymentAccount. - Modified existing gRPC boilerplate in grpc.proto and GrpcPaymentAccountsService. - Modified existing method signatures in CoreApi and CorePaymentAccountsService. - Replaced existing method impl in CorePaymentAccountsService and removed dead code. - Replaced the CLI's existing 'createpaymentacct' method impl. - Modified existing tests.
- Add missing boilerplate error handling to GrpcPaymentAccountsService. - Edit some PaymentAccountForm & PaymentAccountTypeAdapter exception messages that would be passed to CLI; they should be in the same style as existing CLI err msgs.
For exceptions caught in the server, we want to log a reason and a full stack trace, then send less verbose exception msgs up to the CLI.
MoneyGram is not a CountryBasedPaymentAccount, but it does have a country field.
- Change the getbalance tests to just check a sucessful '0' status code. The api's getbalance method returns full balance info now, not just a formatted long. We still assert the cmd did not fail, but don't check the value string. - Remove obsolete createpaymentacct tests. This is well tested in apitest, and testing this cmd is unnecesarily complex to do in a bats script.
Keeping the bats test simple. More complex use cases are tested in apitest, and we don't want to be trading on mainnet with a bats test. - Add new getunusedbsqaddress test, assert success return status. - Add new getpaymentmethods test, assert success return status.
Running the bats test exposed a bug that shows BSQ and BTC balance info no matter what currency code argument is passed to the server.
This change reverts a minor refactoring of BsqSendView in commit 446bd32, to avoid a conflict in this file with the upcoming v1.5.0 release merge. The minor refactoring change being backed out here can be done again after the v1.5.0 merge. Reverting the entire commit is not necessary.
Closing. The file conflict is being resolved in prior PRs. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change reverts a minor refactoring of
BsqSendView
in commit 446bd32, to avoid a conflict in this file with the upcoming v1.5.0 release merge. The changes being backed out here can be done again after the v1.5.0 merge.Reverting the entire commit is not necessary.
This is the 20th in a chain of PRs beginning with #4793.
PR #4836 should be reviewed before this one.